<rmcreative>

RSS

MySQL: выбрать новости с определёнными id соблюдая порядок

5 марта 2009

Задача: выбрать новости с id = [2, 10, 3, 88, 23] соблюдая порядок.

SELECT *
FROM news
WHERE id IN (2, 10, 3, 88, 23)
ORDER BY FIELD (id, 2, 10, 3, 88, 23)

Комментарии RSS

  1. №1336
    Денис
    Денис 05.03.2009, 18:03:06

    Очень позновательно, спасибо.

  2. №1338
    daedmen
    daedmen 05.03.2009, 19:01:44

    А для чего такое может быть нужно ?

  3. №1339
    dohlik
    dohlik 05.03.2009, 21:54:39

    daedmen

    Например, если необходимо упорядочить записи по каким-то текстовым значениям, перечень которых ограничен (названия ролей к примеру).

  4. №1340
    larin
    larin 05.03.2009, 22:48:10

    @daedmen

    Это очень полезно при разоте с Sphinx - он выдает ID документов отсортированных по релеватности, и нам при помощи этого запроса остается только вывести результат. Ну очень удобно )

  5. №1341
    McDEN
    McDEN 06.03.2009, 0:00:03

    Спасибо, то что искал. Версия MySQL роли не играет?

  6. №1342
    Splurov
    Splurov 06.03.2009, 7:18:10

    Или ORDER BY FIND_IN_SET(id, '2,10,3,88,23')

  7. №3135
    DmitrySh
    DmitrySh 18.09.2010, 19:41:23

    ...или ORDER BY id = 2 DESC, id = 10 DESC, id = 3 DESC, id = 88 DESC, id = 23 DESC

  8. №9719
    Александр
    Александр 26.03.2015, 22:49:38

    Спасибо!

  9. №9720
    Александр
    Александр 26.03.2015, 22:51:51

    Очень помогло. Websash

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.