SQLite использует Order By, но другой разделитель помещает вещи в конец списка - PullRequest
1 голос
/ 23 декабря 2011

Есть ли способ использовать запрос SQLite, чтобы получить список вещей, упорядоченных по 1 разделителю, но получить другой разделитель из результатов и поместить их в конец списка?

Например, если у меня есть testTable, который выглядит примерно так:

id price date
1 2.00 12/10/2011
2 1.00 09/10/2011
3 3.00 01/01/2012
4 2.00 02/04/2012

Если бы я хотел отсортировать его по дате, я бы использовал:

SELECT * FROM testTable ORDER BY DATE ASC

это даст мне:

id price date
2 1.00 09/10/2011
1 2.00 12/10/2011
3 3.00 01/01/2012
4 2.00 02/04/2012

Но что, если я хочу, чтобы список сортировался по датам, но я хочу, чтобы элементы стоимостью 2,00 были внизу? Я бы хотел, чтобы результат выглядел так:

id price date
2 1.00 09/10/2011
3 3.00 01/01/2012
1 2.00 12/10/2011
4 2.00 02/04/2012

Есть ли конкретный запрос, который я могу использовать для достижения этой цели?

Спасибо

1 Ответ

2 голосов
/ 23 декабря 2011
SELECT * 
    FROM testTable 
    ORDER BY CASE WHEN price = 2.00 THEN 1 ELSE 0 END,
             DATE
...