在SQL中的ORDER BY子句下使用CASE



编写一个SQL查询,通过排序主题和获胜者名称查找1970名获胜者的所有详细信息;但这份清单最后包含了经济学和化学。

SELECT *
FROM nobel_win
WHERE year=1970 
ORDER BY
CASE
WHEN subject IN ('Economics','Chemistry') THEN 1 //what does 1 mean?
ELSE 0 //what does 0 mean
END ASC,
subject,
winner;

case表达式如果主题是经济学或化学,则返回1,否则返回0。这意味着,包含这些主题的行将在所有其他行之后进行排序。

最新更新