求大神指点以下SQL查询命令
发布网友
发布时间:2022-06-09 01:33
我来回答
共2个回答
热心网友
时间:2022-07-10 16:34
帮你看了下Stackoverflow上别人的回答
SELECT winner, subject
FROM nobel
WHERE yr=1984
ORDER BY
CASE
WHEN subject IN ('Physics','Chemistry') THEN 1
ELSE 0
END ASC,
subject,
winner
The first condition is a boolean expression that evaluates to either 1 (for true) or 0 (for false). Hence, the falses appear before the trues.
subject in()条件是一个Boolean表达式,1是true 0是false. 因此falses会显示在trues的前面。意思就是如果subject不在('Physics','Chemistry')里面,结果就是false,应该显示在true的前面。所以Physics 和 Chemistry会显示在最后。
热心网友
时间:2022-07-10 16:35
in 应该放在查询条件中,即where关键字后面,作为查询的筛选条件。
order by 是按照要求对指定列进行升序或降序排列的关键字。