美文网首页数据库和sql的优化
MySQL 5.7 子查询,分组,排序,count distin

MySQL 5.7 子查询,分组,排序,count distin

作者: NEU_PROYZ | 来源:发表于2021-10-28 17:28 被阅读0次

    本文是一篇记录文章,不说废话,也不讨论深层原因,给大家提供一个解决问题的方法
    正如题目关键字所言,最近在工作中遇到一个匪夷所思的问题:
    在MySQL-5.7大版本下,如果SQL格式类似:

    SELECT
        *,
        count( distinct x ) AS cnt 
    FROM
        ( subquery ) t0 
    GROUP BY
        xx 
    ORDER BY
        cnt
    

    那么分组失效。点击链接了解这个case。
    总结两个比较好用的方法:
    1.将group by包裹一层子查询。将分组和排序隔离
    2.在subquery中加上limit。有效的阻止内层derived table被merge到外层

    相关文章

      网友评论

        本文标题:MySQL 5.7 子查询,分组,排序,count distin

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