美文网首页
取出分组后最新的一条数据的坑

取出分组后最新的一条数据的坑

作者: 一梦三四年lyp | 来源:发表于2019-06-12 18:42 被阅读0次

今天群里有个小伙伴提了个需求说帮写一条取出分组后最新的一条数据的sql:

        一开始我直接就上sql:
      select * from (select * from a order by a.id desc) t group by id 
      结果找到的数据老不对,后面查阅资源发现,在mysql5.7后 优化器默认过滤了子查询的order by 效果,
      所以找到的数据不对劲,但是sql变成:
      select * from (select * from a order by a.id desc limit 9999) t group by id 
      却又可以了。


    后来只能用另外一种方法解决了,子查询加inner join 示例:
    select * from product INNER JOIN
     (select max(id) max_id from product  group by price) as t 
    on t.max_id =   product.id order by id desc 
  
  最后问题解决~~

相关文章

网友评论

      本文标题:取出分组后最新的一条数据的坑

      本文链接:https://www.haomeiwen.com/subject/dirrfctx.html