首页 > 技术文章 > MySQL 实现 先取记录的最后一条 然后 再group 分组 然后 按照 指定的列 进行排序

qianxiaoPro 2021-05-26 10:20 原文

解决方案1

SELECT * FROM (SELECT * from tb_dept ORDER BY id desc LIMIT 100000) a GROUP BY parent_id order by id;
// 注: 不加 limit 可能会导致结果不正确>

解决方案2

SELECT b.*
  from douyin_fans b join(
SELECT max(md_id)  maxId
  FROM douyin_fans
 where time>= '.strtotime("-30 day").'
 GROUP BY member_id)  mf on mf.maxId= b.md_id
 order by b.total_fans desc
 limit '.input(' limit/d ',0).',
       30 '

 

推荐阅读