这段代码如何运作?
ORDER BY
CASE WHEN subject IN ('Chemistry','Physics') THEN 1 ELSE 0 END,
subject,
winner;
答案 0 :(得分:0)
按照案件的结果,然后按主题,然后获胜者命令。
按照主题和获胜者的顺序,首先出现不是化学或物理学的行。然后是化学,然后是物理学。
试试吧。
答案 1 :(得分:0)
首先检查subjet是化学还是物理。 如果确实如此,排序分数将为1.
如果主题不包含任何“化学”或“物理”,则分数将为0.
之后,它会按分数对结果进行排序,因此包含化学或物理的结果将首先出现在那些不包含的结果之后。
答案 2 :(得分:0)
我认为这就是你想要的SELECT winner, subject FROM nobel WHERE yr = '1984' AND subject IN ('Chemistry','Physics') ORDER BY CASE;