2013-06-01 5 views
0

Как я могу выбрать следующий результат, просто указав имя?Выбор следующих результатов в MySQL

У меня есть таблица, которая выглядит так, никаких идентификаторов, просто список имен пользователей.

row1 = username(Alex) 
row2 = username(Bob) 
row3 = username(Britney) 
row4 = username(Steve) 
row5 = username(Courtney) 
row6 = username(Greg) 
row7 = username(Abul) 
row8 = username(Roger) 
row9 = username(Victoria) 
row10 = username(Brooke) 

Предположим, я хочу выбрать все предметы после «Грега». Как я могу это достичь?

+0

Что такое определение таблицы? У вас есть порядковый номер для пользователей? –

+0

Нет, просто список имен пользователей – user2310422

+4

Если единственным полем в таблице является имя пользователя, то нет никакой гарантии, что Алекс всегда будет первым пользователем. Таблицы SQL не имеют встроенной сортировки. –

ответ

0

Нет, в SQL нет встроенного упорядочения таблиц, поэтому нет способа (кроме алфавитного порядка) определить, какое имя будет дальше.

Фактически, порядок, отображаемый в вопросе, является полностью произвольным - без заданного условия order by порядок извлечения строк по существу является случайным.

0

Это можно сделать двумя запросами. Сначала найдите идентификатор конкретного имени. like select id from tablename, где username = 'Greg' , после чего этот идентификатор, выберите * из tablename, где id> fetching id.

+0

Он сказал, что у него есть какие-то идентификационные поля ... к сожалению. –

0

Добавить ID столбец в таблицу, а затем использовать LIMIT в качестве смещения

SELECT * FROM users LIMIT (SELECT ID FROM username WHERE username='Greg'), MAX(ID) 

Не проверял, но вы можете играть с ним