按主题升序排列结果。为什么要把主题放在 `ASC` 之后?
Order the result by subject, ascending. Why putting subject after `ASC`?
SQL Basic Select Statement: Exercise-24 with Solution
从下面的 table 中编写一个 SQL 查询以查找 1970 年诺贝尔奖获得者的详细信息。按主题对结果进行排序,除了将出现在结果集末尾的“化学”和“经济学”之外,升序排列。 Return 年份、主题、获胜者、国家和类别。
解决方案
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
之后。它们都是升序排列的吗?
在SQL中,要对结果进行升序或降序排序,我们必须在需要排序的列名后加上ASC 或DESC 关键字。例如,在练习 24 中,ASC 关键字位于 order by 语句之后。这意味着结果根据您的情况按升序排列。
在练习 23 中,DESC 关键字在年份之后。这意味着考虑到年份列,结果按降序排列。
所以总结一下,关键字ASC和DESC用在我们要排序的字段名后面。
Check this link 有关按 ASC 和 DESC 排序的更多详细信息。
SQL Basic Select Statement: Exercise-24 with Solution
从下面的 table 中编写一个 SQL 查询以查找 1970 年诺贝尔奖获得者的详细信息。按主题对结果进行排序,除了将出现在结果集末尾的“化学”和“经济学”之外,升序排列。 Return 年份、主题、获胜者、国家和类别。
解决方案
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
之后。它们都是升序排列的吗?
在SQL中,要对结果进行升序或降序排序,我们必须在需要排序的列名后加上ASC 或DESC 关键字。例如,在练习 24 中,ASC 关键字位于 order by 语句之后。这意味着结果根据您的情况按升序排列。
在练习 23 中,DESC 关键字在年份之后。这意味着考虑到年份列,结果按降序排列。
所以总结一下,关键字ASC和DESC用在我们要排序的字段名后面。
Check this link 有关按 ASC 和 DESC 排序的更多详细信息。