av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

mysql group排序問題

瀏覽:148日期:2022-06-20 14:50:59

問題描述

表結構:

ordreridcontentcreated_at13time-11aaatime-2

select * from table group by orderid order by created_at desc得出的結果居然是 1|3|time-1 time2大于time1

問題解答

回答1:

因為oracle是倒著分析你的sql語句的。select * from table group by created_at, orderid order by created_at desc

order by 中列,應該出現在group by 子句中。created_at同時放在group by中,且created_at要放在orderid前面。

回答2:

說實話我都懷疑你的sql是否能夠執行,select * from table group by orderid應該是不能執行的,select后面的字段必須和group by后面的字段一致。如果你這段SQL確實能夠執行,那么我猜可能是因為你寫的并不符合語法規則導致order by并沒有起到排序的作用

上面說的這個是針對oracle的,Mysql確實是能夠執行的(注意:這種SQL是不標準的)

原理如下:Mysql在執行這段代碼的時候會檢查orderid是不是主鍵或者唯一非空索引,如果不是的話就會從orderid相同的行里面任意找一條數據出來了(因為你這里查詢用的是*而不是orderid,跟group by后不一致),既然是任意的數據那么里的order by是無效的

相關文章:
主站蜘蛛池模板: 日韩欧美国产一区二区三区 | 一级毛片在线播放 | 亚洲精品国产成人 | 成人h动漫精品一区二区器材 | 欧美在线a | 视频在线观看一区二区 | www.99re | 成人精品一区二区 | 亚洲国产精品精华素 | 成人一区二区三区在线 | 亚洲一二三区精品 | 日韩欧美三级电影 | 黑人巨大精品 | 97视频在线看 | 人成久久 | 欧美精品一区二区三区在线 | 91国产在线视频在线 | 久久国内 | 日本亚洲一区二区 | 欧美亚洲高清 | 日日拍夜夜 | 天天操天天怕 | 天天操网 | 一级免费a | 一区在线免费视频 | 亚洲免费精品 | 日韩av在线不卡 | 国产一伦一伦一伦 | www久久国产 | 69堂永久69tangcom | 久久精品国产99国产精品 | 91国内精品久久 | 国产95在线 | 视频一区在线观看 | 久久久久久国模大尺度人体 | 91国在线视频 | 亚洲视频一区二区三区 | 国产良家自拍 | 免费永久av | 91 在线| 一级特黄色毛片 |