ORDER BY с выражением IN - PullRequest
0 голосов
/ 02 июня 2018

Я хочу сделать заказ по CustomerID, но также ЗАКАЗАТЬ ПО 2 стран,

у меня есть

SELECT CustomerID, Country
FROM Customer
ORDER BY Country IN ("USA", "CANADA") ASC
ORDER BY Customer ID ASC;

должно вернуться

4, Canada
7, USA
8, USA
11, USA
12, Brazil
13, Belgium

1 Ответ

0 голосов
/ 02 июня 2018

Используйте выражение CASE в своем предложении ORDER BY:

SELECT CustomerID, Country
FROM Customer
ORDER BY
    CASE WHEN Country IN ("USA", "CANADA") THEN 0 ELSE 1 END,
    CustomerID;

Это поставит на первое место всех клиентов в США или Канаде, а затем клиентов из всех других стран.Внутри каждой из этих двух групп записи будут отсортированы по возрастанию по CustomerID.

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