【问题标题】:How can I order by two columns, if result is equal, consider another column?如果结果相等,如何按两列排序,请考虑另一列?
【发布时间】:2017-01-23 20:21:24
【问题描述】:

我有名为标记、total_marks 和聚合的表。我想首先根据聚合对结果进行排序,但是当同一列中的聚合等于下一个时,则考虑总数最高的学生。即,按聚合排序,但如果最后一个聚合等于新的聚合,那么我怎样才能将最高排名赋予总和更高的那个?

【问题讨论】:

  • 简单-order by aggregate desc, total_marks desc

标签: mysql sql-order-by


【解决方案1】:

使用 SQL,您可以按多列排序:

SELECT * from marks ORDER BY aggregate DESC, total_marks DESC

这将按聚合优先(最高优先)对所有行进行排序,然后具有相同聚合值的行将按“total_marks”排序(也是最高优先)。您可以通过将排序方向从 DESC(结束)(即最高优先)更改为 ASC(结束)(即最低优先)来反转各个列的排序

【讨论】:

    猜你喜欢
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2023-03-17
    • 2021-04-08
    相关资源
    最近更新 更多