Forum Webscript.Ru

Общие => Базы данных => Тема начата: tana от 22 Декабря 2003, 18:31:43

Название: Как НЕ сортировать результат запроса?
Отправлено: tana от 22 Декабря 2003, 18:31:43
Подскажите, как выводить данные без сортировки в MySQL?
Например, следующий запрос
SELECT * FROM `table` WHERE `id`=\'25\' OR `id`=\'2\' OR `id`=\'17\' ORDER BY NULL

все равно сортирует строки по PRIMARY KEY (в данном случае - id):
2
17
25

А как вывести их именно в том порядке, в котором они написаны в запросе?
Подскажите, пожалуйста.

Спасибо огромное.
Название: Как НЕ сортировать результат запроса?
Отправлено: Croaker от 23 Декабря 2003, 12:53:32
попробуй ORDER BY RAND()
Название: Как НЕ сортировать результат запроса?
Отправлено: tana от 23 Декабря 2003, 13:24:24
SELECT * FROM `table` WHERE `id` = \'25\' OR `id` = \'2\' OR `id` = \'17\' ORDER BY RAND( )
дает следующий результат:
17
25
2

А вот как вывести именно в том порядке, в котором они записаны (т.е. 25, 2, 17)?

Спасибо большое.
Название: Как НЕ сортировать результат запроса?
Отправлено: Croaker от 23 Декабря 2003, 13:30:59
tana

да, невнимательно я прочитал, про RAND() ступил, каюсь.

Цитировать
tana:

А вот как вывести именно в том порядке, в котором они записаны (т.е. 25, 2, 17)?


1) а зачем?
2) не уверен, что можно сделать средствами SQL.
Название: Как НЕ сортировать результат запроса?
Отправлено: fidget от 23 Декабря 2003, 15:38:26
Для начала бы неплохо определиться что нужно
без сортировки в MySQL
или
именно в том порядке.
Если второе - то создаете отдельное поле для сортировки, а потом по нему сортируете.
Название: Как НЕ сортировать результат запроса?
Отправлено: tana от 23 Декабря 2003, 16:33:31
По идее, нужно было в том порядке, в котором писался запрос.
Но сделали уже немного по-другому.

Спасибо вам.