业务需求,需要查询表里不同分类下的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;
返回的结果:

这两条才是最终的结果。
本文介绍了一种使用SQL查询特定分类下具有最大order值的记录的方法。通过对比不同SQL语句的效果,最终确定了有效的查询策略,确保了只返回每个分类下的最大order记录。
405





