[英]MySQL sorting multiple columns with different sort order
我有一個表,其中有三個數據類型為date
、 int
和bigint
的字段。
我想使用所有這三列對我的 select 查詢進行排序。 我想按降序對它們進行排序。 例如:
Select * From mytbl
order by date desc,intnum desc, bigintnum desc;
我是否有可能從所有三列的最大值開始得到結果。 如最新日期、最高 intnum 和最高 bigintnum。
不
您的查詢所做的是獲取max date
,然后是 max date 的max intnum
,然后是max date
的max bigintnum
的max intnum
max date
換句話說,您的查詢不會返回所有三列的最大值
它首先按日期排序,然后是 intnum,然后是 bigintnum 結果將是這樣的
2011-07-20 12 14
2011-07-20 12 13
2011-07-20 11 16
2011-07-20 10 12
2011-07-19 20 15
2011-07-18 60 30
2011-07-18 50 14
不可能從所有三列的最大值開始得到結果。 如最新日期、最高 intnum 和最高 bigintnum。
Select * From mytbl
order by date desc,intnum desc, bigintnum desc;
如您所知,ORDER BY 的作用是,如果您在 order by 子句中有多個列,它將首先按 DATE Desc 排序,然后在第一個 Date 將按 INTNUM Desc 排序,然后按 BIGINTNUM 排序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.