mysql中group by的排序问题_Mysql之group by 和order by 一起用时的排序问题
業(yè)務(wù)需求,需要查詢表里不同分類下的order最大的記錄。
查看表中的記錄:
SELECT id,tid,`order`, FROM_UNIXTIME(yestime) FROM tfen
WHERE tid IN(7512, 7514)
ORDER BY `order` DESC ;
結(jié)果如下:
排序的sql語句:
SELECT id,tid,`order`, FROM_UNIXTIME(yestime) FROM tfen
WHERE tid IN(7512, 7514)
GROUP BY tid
ORDER BY `order` DESC ;
返回的結(jié)果:
不是自己想要的結(jié)果。
執(zhí)行下面的sql:
SELECT id,tid,`order`,FROM_UNIXTIME(yestime) FROM (
SELECT * FROM tfen WHERE tid IN(7512, 7514) ORDER BY `order` DESC
) AS t
GROUP BY tid;
返回的結(jié)果:
這兩條才是最終的結(jié)果。
本質(zhì)就是現(xiàn)有一個(gè)子查詢將數(shù)據(jù)按照想要的規(guī)則排好序
之后將數(shù)據(jù)分組
總結(jié)
以上是生活随笔為你收集整理的mysql中group by的排序问题_Mysql之group by 和order by 一起用时的排序问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: update yum 到指定版本_cen
- 下一篇: mysql 测试数据的脚本_Mysql脚