方法一:如果业务数量较小
(limit 可以设置尽可能覆盖的值 id自增长或者有序递增 id可用时间替换)
不外乎
SELECT p.* FROM (SELECT * FROM users ORDER BY id DESC )p GROUP BY p.sex ORDER BY id desc
但是这样 还是得不到 分组里面最新的一条数据。
不废话 要得到 组里面最新的一条数据 其他 要加个限制
SELECT p.* FROM (SELECT * FROM users ORDER BY id DESC limit 1000000000 )p GROUP BY p.sex ORDER BY id desc
看到没有 在 排序的时候 加上 limit 做个限制 就可以得到 想要的结果了。
方法2 :使用max函数获取最新的数据再分组
( id自增长或者有序递增 id可用时间替换)
SELECT * FROM users a WHERE a.id in (select max(id) max from users group by type )