mysql数据库中一个表取分组后每组的前十条数据

mysql数据库中一个表取分组后每组的前十条数据

表结构:
name:dtu_log
id,create_date,dtu_id

需求是按dtu_id分组,取每个dtu的前十条,sql如下:

SELECT
            a.*
        FROM
            dtu_log a
        WHERE 10 >
            (SELECT
                count(*)
             FROM
                    dtu_log
             WHERE
                    dtu_log.dtu_id = a.dtu_id AND dtu_log.Create_Date > a.Create_Date)
        ORDER BY Create_Date

10代表取出的条数,
where后面跟的条件是取时间最新的前十条。
如果碰巧解决了你的问题,点个赞再走吧!


版权声明:本文为Getsunflowers原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。