MySQL使用不同的排序顺序排序多个列

时间:2011-07-20 05:20:00

标签: mysql sql-order-by

我有一张表格,其中我有三个数据类型为dateintbigint的字段。

我想使用所有这三列对我的选择查询进行排序。我想按降序对它们进行排序。例如:

Select * From mytbl 
order by date desc,intnum desc, bigintnum desc;

我是否有可能从所有三列的最大值开始得到结果。 像最新的日期,最高的intnum和最高的bigintnum。

2 个答案:

答案 0 :(得分:2)

没有

您的查询的作用是获取max date,然后是max intnum的{​​{1}},后跟max date的{​​{1}} 1}}

换句话说,您的查询不会返回所有三列的最大值

首先按日期排序,然后是intnum,然后是bigintnum 结果将是这样的

max bigintnum

答案 1 :(得分:1)

无法从所有三列的最大值开始获得结果。比如最新的日期,最高的内部和最高的bigintnum。

 Select * From mytbl 
 order by date desc,intnum desc, bigintnum desc;

如果您知道ORDER BY的作用,如果您在order by子句中有多个列,它将首先按DATE Desc排序,然后按INTNUM Desc排序的第一个Date排序,然后按BIGINTNUM排序。