美文网首页MySQL
MySql分组查询前N条记录

MySql分组查询前N条记录

作者: zhangweisep | 来源:发表于2020-03-17 15:04 被阅读0次

    Sql语句

    SELECT 
        a.*
    FROM
        lf_comment AS a,
        (SELECT 
            GROUP_CONCAT(id order by id desc) AS ids
        FROM
            lf_comment
        GROUP BY root_id) AS b
    WHERE
        FIND_IN_SET(a.id, b.ids) BETWEEN 1 AND 2
    ORDER BY a.root_id ASC, a.id DESC;
    

    SQL语句解析

    GROUP_CONCAT得到每组用逗号分隔的列值,最大长度可以通过group_concat_max_len环境变量设置。
    find_in_set返回id在ids中的位置,不存在返回0。
    

    相关文章

      网友评论

        本文标题:MySql分组查询前N条记录

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