[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Составление запроса SELECT
zebulun
Задача: Составить запрос MySQL
Сделать выборку именно всех записей, но чтобы начинались с конкретной записи,
т.е. от записи n и до конца, и от начала и до записи n.



Спустя 3 минуты, 27 секунд (27.06.2012 - 10:16) m4a1fox написал(а):
zebulun
Если MySQL то смотрите в сторону LIKE

Спустя 3 минуты, 6 секунд (27.06.2012 - 10:19) zebulun написал(а):
Не понял, почему LIKE, есть id записи, начиная с которой надо выбрать ВСЕ записи

Спустя 15 минут, 19 секунд (27.06.2012 - 10:34) altairo2087 написал(а):
select * from [откуда] where id > [с какого id] ? blink.gif

Спустя 5 минут, 54 секунды (27.06.2012 - 10:40) l@pteff написал(а):
выборка от начала до n-й записи
SELECT * FROM `откуда` LIMIT 0 , n

Спустя 12 минут, 46 секунд (27.06.2012 - 10:53) zebulun написал(а):
так записи, где WHERE id < [с какого id] мне тоже нужны

Спустя 5 минут, 32 секунды (27.06.2012 - 10:58) Gabriel написал(а):
zebulun
на примере обьясни....

Спустя 4 минуты, 30 секунд (27.06.2012 - 11:03) Placido написал(а):
SELECT * FROM `таблица` ORDER BY `id` = 'здесь айди нужной записи' DESC

Спустя 2 минуты, 45 секунд (27.06.2012 - 11:06) sergeiss написал(а):
Placido - а как это ты в ORDER BY условие-то вставляешь???

Спустя 10 минут, 13 секунд (27.06.2012 - 11:16) Placido написал(а):
Цитата (sergeiss @ 27.06.2012 - 11:06)
Placido - а как это ты в ORDER BY условие-то вставляешь???

Очень просто ) А отчего нет? Синтаксически верно. Предложенный мной вариант первым выведет запись с желаемым id, а потом все остальные.

Спустя 9 минут, 15 секунд (27.06.2012 - 11:25) Placido написал(а):
sergeiss, условие в ORDER BY возвращает 1 (если выполнено) или 0 (если не выполнено), потом по этим нулям и единицам идет сортировка. DESC - чтобы сортировало сначала удовлетворяющие условию строки (с единицами), а потом остальные (с нулями).

Спустя 56 минут, 5 секунд (27.06.2012 - 12:21) sergeiss написал(а):
Цитата (Placido @ 27.06.2012 - 12:16)
Предложенный мной вариант первым выведет запись с желаемым id, а потом все остальные...

...но в произвольном порядке.

Правильно будет сделать так
Цитата (altairo2087 @ 27.06.2012 - 11:34)
select * from [откуда] where id >= [с какого id] ?

плюс добавить просто 'ORDER BY id' (и еще я знак "больше" поменял на "больше или равно")

Если надо с айди меньшими, то просто меняем условие.

Это соответствует начальному вопросу.

Спустя 11 минут, 44 секунды (27.06.2012 - 12:33) Placido написал(а):
sergeiss, а как же это?
Цитата
так записи, где WHERE id < [с какого id] мне тоже нужны


Как я понял, ТС-у нужно отсортировать записи таким образом, чтобы первой шла запись с определенным id, а потом ВСЕ остальные. Если остальные записи тоже нужно сортировать по id, то к запросу просто добавится ", `id`":

SELECT * FROM `таблица` ORDER BY `id` = 'здесь айди нужной записи' DESC, `id`

Спустя 20 минут, 13 секунд (27.06.2012 - 12:53) Placido написал(а):
Вариант, соответствующий условию
Цитата
от записи n и до конца, и от начала и до записи n.

будет такой:
SELECT * FROM `таблица` ORDER BY `id` = 'id записи n' DESC, `id` > 'id записи n' DESC, `id`

Спустя 12 минут, 2 секунды (27.06.2012 - 13:05) sergeiss написал(а):
Placido - с несколькими условиями в ORDER BY может быть и будет то, что надо... Если честно, то я так никогда не делал smile.gif

Теперь осталось только услышать мнение ТС.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.