【发布时间】:2017-01-23 20:21:24
【问题描述】:
我有名为标记、total_marks 和聚合的表。我想首先根据聚合对结果进行排序,但是当同一列中的聚合等于下一个时,则考虑总数最高的学生。即,按聚合排序,但如果最后一个聚合等于新的聚合,那么我怎样才能将最高排名赋予总和更高的那个?
【问题讨论】:
-
简单-
order by aggregate desc, total_marks desc
标签: mysql sql-order-by
我有名为标记、total_marks 和聚合的表。我想首先根据聚合对结果进行排序,但是当同一列中的聚合等于下一个时,则考虑总数最高的学生。即,按聚合排序,但如果最后一个聚合等于新的聚合,那么我怎样才能将最高排名赋予总和更高的那个?
【问题讨论】:
order by aggregate desc, total_marks desc
标签: mysql sql-order-by
使用 SQL,您可以按多列排序:
SELECT * from marks ORDER BY aggregate DESC, total_marks DESC
这将按聚合优先(最高优先)对所有行进行排序,然后具有相同聚合值的行将按“total_marks”排序(也是最高优先)。您可以通过将排序方向从 DESC(结束)(即最高优先)更改为 ASC(结束)(即最低优先)来反转各个列的排序
【讨论】: