1. 程式人生 > >Mysql之group by 和order by 一起用時的排序問題

Mysql之group by 和order by 一起用時的排序問題

業務需求,需要查詢表裡不同分類下的order最大的記錄。

查看錶中的記錄:

SELECT id,tid,`order`, FROM_UNIXTIME(yestime) FROM tfen 
WHERE tid IN(7512, 7514) 
ORDER BY `order` DESC ;

結果如下:

排序的sql語句:

SELECT id,tid,`order`, FROM_UNIXTIME(yestime) FROM tfen
WHERE tid IN(7512, 7514) 
GROUP BY tid 
ORDER BY `order` DESC ;

 返回的結果:

 不是自己想要的結果。

執行下面的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;

 

返回的結果:

這兩條才是最終的結果。