[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка по нескольким значениям одного столбца
gidrosoldat
Доброе время суток!
вопрос такой: Как лучше произвести выборку из таблицы БД по нескольким значениям одного столбца?

Есть несколько значений столбца `id` (10,11,5,2,34,48...23) - числа идут вразнабой и не по порядку.
мне надо выбрать значения строк с этими `id` в том же порядке. Как такое сделать?
Запрос такого типа не работает:
SELECT * from `table` WHERE `id` = 10, 11, 5, 2, 34, 48...23 

Конечно, на крайний случай, можно запустить цикл и выбирать по одной строчке, но мне это решение не нравиться. У кого какие идеи ?



Спустя 5 минут, 19 секунд (27.03.2011 - 20:14) Trianon написал(а):
...
WHERE id IN (список)
ORDER BY FIELD(id,список)

Спустя -1 лет, 11 месяцев, 29 дней, 3 часа, 5 минут, 29 секунд (27.03.2011 - 23:20) gidrosoldat написал(а):
Trianon, супер! большое спасибо )

Спустя 1 час, 1 минута, 24 секунды (28.03.2011 - 00:21) Trianon написал(а):
именно для такого случая я и написал вторую строку - ORDER BY FIELD(id,список)
Конструкция это достаточно затратная, и без лишней нужды применять её не стоит.

Спустя 1 день, 19 часов, 55 минут, 31 секунда (29.03.2011 - 20:17) gidrosoldat написал(а):
Trianon ок, на денвере работает. А вот на серве уже нет.
делаю так:
SELECT * FROM `tests_questions` 
WHERE `tid` = '1' AND `qid` IN (1, 3, 11, 7, 10) ORDER BY FIELD (`qid`, 1, 3, 11, 7, 10)

и получаю:
FUNCTION electricpe_mega.FIELD does not exist
Народ, WTF? Неужели версия мускула на серве старая?
Быстрый ответ:

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