如何在SQL中订购

时间:2016-07-30 12:21:41

标签: mysql sql

显示1984年获奖者和主题按主题和获胜者名称排序;但最后列出化学和物理。 有一个提示,但我不知道如何使用它:表达主题IN('Chemistry','Physics')可以用作值 - 它将是0或1。

 SELECT winner, subject, subject IN ('Physics','Chemistry')
      FROM nobel
     WHERE yr=1984
     ORDER BY subject,winner

如何修改此选项以获得正确答案

1 个答案:

答案 0 :(得分:1)

SELECT winner, subject
FROM nobel
WHERE yr=1984
ORDER BY (subject IN ('Physics','Chemistry')) ASC, subject, winner

ORDER BY的第一部分如果主题不在给定列表中则返回0,否则返回1.首先按此表达式排序将确保物理'和'化学'记录列在最后。
然后一切都按主题和胜利者排序。