SQLite - вернуть отсортированный список - PullRequest
0 голосов
/ 20 мая 2011

Я могу использовать

SELECT * FROM table 
WHERE id IN (478,278,190,890,123)

чтобы вернуть список записей.

Как я могу дать SQLite команду вернуть записи, отсортированные в порядке, указанном в списке?

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Специальной инструкции для такой вещи не существует. Вы должны найти решение для каждого случая.

В вашем примере вы можете сделать это так:

SELECT *
  FROM table
 WHERE id IN (478,278,190,890,123)
 ORDER BY CASE id WHEN 478 THEN 0
                  WHEN 278 THEN 1
                  WHEN 190 THEN 2
                  WHEN 890 THEN 3
                  WHEN 123 THEN 4
          END

Но если у вас длинный список идентификаторов, его будет сложно поддерживать.

0 голосов
/ 20 мая 2011

вы можете использовать порядок по имени поля.В этом я предполагаю id select * from table where id in (478,278,190,890,123) order by id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...