以相反的方式对两列进行排序

时间:2012-06-11 12:16:01

标签: mysql sql sorting sql-order-by

以下是我的内容

id    |  Total    | Area
  1   |    19     |  A
  2   |    20     |  B
  3   |    19     |  C
  4   |    20     |  A
  5   |    19     |  D

我想要的是如下。

id    |  Total    | Area
  4   |    20     |  A
  2   |    20     |  B
  1   |    19     |  A
  3   |    19     |  C
  5   |    19     |  D

我正在尝试

SELECT * FROM myTable
ORDER BY Total, Area DESC

通过使用上面的代码我可以按降序对Total进行排序,但是如何同时对Area列进行排序?有什么想法吗?

我在回答时正在结束这个问题

SELECT * FROM myTable
ORDER BY Total DESC, Area ASC

Demo

1 个答案:

答案 0 :(得分:3)

ORDER BY子句中的每个列/表达式都可以具有自己的顺序(ASC/DESC,如果未指定,则ASC是默认值。你可以写:

SELECT * FROM myTable
ORDER BY Total DESC, Area /* ASC */

Demo