SQL Basic Select Statement: Exercise-24 with Solution
从下表中,编写SQL查询以查找1970年诺贝尔奖获得者的详细信息。按照主题对结果进行排序,除了“化学”和“经济学”将出现在结果集的末尾之外,其余均为升序。返回年份、主题、获奖者、国家和类别。

解决方案
SELECT *
FROM nobel_win
WHERE year=1970
ORDER BY
CASE
WHEN subject IN ('Economics','Chemistry') THEN 1
ELSE 0
END ASC,
subject,
winner;SQL Basic Select Statement: Exercise-23 with Solution.在此解决方案中,year领先于DESC。我很困惑。ASC、DESC和列标题的顺序重要吗?与练习24中的一样,subject和winner都放在ASC之后。它们都是升序的吗?
发布于 2021-10-21 04:53:08
在SQL中,要按升序或降序对结果进行排序,我们必须将ASC或DESC关键字放在需要排序的列名之后。例如,在练习24中,ASC关键字位于order by语句之后。这意味着根据您的情况,结果是按升序排列的。
在练习23中,DESC关键字是在年份之后。这意味着,考虑到year列,结果是以降序排列的。
因此,作为结论,关键字ASC和DESC用在我们想要按顺序排列的字段名之后。
Check this链接,了解有关ASC和DESC订单的更多详细信息。
https://stackoverflow.com/questions/69655931
复制相似问题