国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql group排序問題

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

問題描述

表結(jié)構(gòu):

ordreridcontentcreated_at13time-11aaatime-2

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

問題解答

回答1:

因?yàn)閛racle是倒著分析你的sql語(yǔ)句的。select * from table group by created_at, orderid order by created_at desc

order by 中列,應(yīng)該出現(xiàn)在group by 子句中。created_at同時(shí)放在group by中,且created_at要放在orderid前面。

回答2:

說實(shí)話我都懷疑你的sql是否能夠執(zhí)行,select * from table group by orderid應(yīng)該是不能執(zhí)行的,select后面的字段必須和group by后面的字段一致。如果你這段SQL確實(shí)能夠執(zhí)行,那么我猜可能是因?yàn)槟銓懙牟⒉环险Z(yǔ)法規(guī)則導(dǎo)致order by并沒有起到排序的作用

上面說的這個(gè)是針對(duì)oracle的,Mysql確實(shí)是能夠執(zhí)行的(注意:這種SQL是不標(biāo)準(zhǔn)的)

原理如下:Mysql在執(zhí)行這段代碼的時(shí)候會(huì)檢查orderid是不是主鍵或者唯一非空索引,如果不是的話就會(huì)從orderid相同的行里面任意找一條數(shù)據(jù)出來了(因?yàn)槟氵@里查詢用的是*而不是orderid,跟group by后不一致),既然是任意的數(shù)據(jù)那么里的order by是無(wú)效的

相關(guān)文章:
主站蜘蛛池模板: 邹城市| 庆城县| 靖江市| 武强县| 五莲县| 淮阳县| 安塞县| 盐池县| 石门县| 道孚县| 方城县| 龙州县| 东平县| 双流县| 陇川县| 安义县| 新野县| 黎平县| 自贡市| 凌云县| 三明市| 广元市| 四平市| 金坛市| 壤塘县| 灵山县| 自治县| 清涧县| 敖汉旗| 鄂托克前旗| 元江| 定远县| 晋江市| 舒城县| 砀山县| 光山县| 新源县| 安溪县| 牙克石市| 蒙自县| 邵武市|