ANSI SQL:通过选取列的某些特定值对结果进行排序

ANSI SQL: Ordering results by picking some certain values of the columns

提问人:RJBurillo 提问时间:2/21/2023 最后编辑:jarlhRJBurillo 更新时间:4/4/2023 访问量:62

问:

我正在追赶 ANSI SQL,并被一个理论上简单的问题卡住了,我自己也无法弄清楚。我希望有人能帮我一把。

如何按列的某些特定值对查询结果进行排序?

我只需要一只手来弄清楚如何将“将其放在底部”的 clausule 与化学和物理一起包含,因为我无法在 ORDER BY clausule 中包含逻辑表达式。

谢谢。

..................

诺贝尔奖(获奖者,年份,主题)

显示 1984 年的获奖者和按主题和获奖者姓名排序的主题;但最后列出化学和物理。

https://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial#Chemistry_and_Physics_last

SELECT winner, subject
FROM nobel
WHERE yr = 1984 ORDER BY <......>, subject, winner;
sql-order-by ansi-sql

评论

0赞 jarlh 2/21/2023
您可以使用大小写表达式将指定值放在其他值之前/之后。多年来一直符合 ANSI SQL。
0赞 O. Jones 2/21/2023
值得一提的是,sqlzoo 包含指向 youtube 视频的链接,其中包含其问题的解决方案。
0赞 RJBurillo 2/21/2023
我的第一个 thougt,在 oORDER BY 标准上包含一个 IN 子句,但没有用。该页面在下面的视频中显示的解决方案在他自己的页面中不起作用。当我尝试它时,它会在 keywor IN 附近给我一个 sintax 错误。
0赞 jarlh 2/21/2023
ANS SQL 允许 ORDER BY 中的 IN。使用哪个 dbms?
0赞 RJBurillo 2/21/2023
我不确定,我没有在我自己的BBDD上工作。它应该是纯 SQL,但页面嵌入了它,Aniway,如果所有意见都指出这是严格的方式,那么 probbalby 是这个特定练习的一个错误。

答: 暂无答案