在 SQL 中排序时如何比较同一表中的两行?

Posted

技术标签:

【中文标题】在 SQL 中排序时如何比较同一表中的两行?【英文标题】:How to compare two rows from same table while sorting in SQL? 【发布时间】:2021-11-30 08:10:19 【问题描述】:

我想使用条件语句以自定义方式对所有数据进行排序。首先,我将检查 column1 和 column1 是否相同。如果它们相同,那么我将根据 column3 进行比较。

示例

id total_score mcq_score
1 50 30
2 50 40
3 50 20

预期输出

id total_score mcq_score
2 50 40
1 50 30
3 50 20

【问题讨论】:

Firstly , I will check if collumn1 & collumn1 are same 你的意思是 column1 和 column2 吗? 是的。感谢合作 【参考方案1】:

ORDER BY 中指定两列。如果第一列中的值相同,则考虑第二列(依此类推):

ORDER BY total_score DESC, mcq_score DESC

【讨论】:

以上是关于在 SQL 中排序时如何比较同一表中的两行?的主要内容,如果未能解决你的问题,请参考以下文章

Netezza SQL 比较同一表中的两条记录

如何在 SQL 查询中的两行上写属性名称

如何用通配符比较同一张表中的两条记录?

如何将两个表与 SQL Server 中第二个表中引用同一列的两列连接起来

sql server同一个表中两行数据合并为一行。如表A: name age num ab

sql排序语句问题