簡體   English   中英

MySQL 以不同的排序順序對多列進行排序

[英]MySQL sorting multiple columns with different sort order

我有一個表,其中有三個數據類型為dateintbigint的字段。

我想使用所有這三列對我的 select 查詢進行排序。 我想按降序對它們進行排序。 例如:

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

我是否有可能從所有三列的最大值開始得到結果。 如最新日期、最高 intnum 和最高 bigintnum。

您的查詢所做的是獲取max date ,然后是 max date 的max intnum ,然后是max datemax bigintnummax 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM