首页 > 数据库技术 > 详细

mysql分组取第一个值

时间:2017-01-23 16:40:46      阅读:240      评论:0      收藏:0      [点我收藏+]

业务需要,统计交易数据tps,sql如下:

SELECT
    idate ,
    itime ,
    num ,
    rank
FROM
    (
        SELECT
            tmp.idate ,
            tmp.itime ,
            tmp.num ,

        IF(
            @pdept = tmp.idate ,@rank :=@rank + 1 ,@rank := 1
        ) AS rank ,
        @pdept := tmp.idate
    FROM
        (
            SELECT
                DATE_FORMAT(inserttime , %Y-%m-%d) idate ,
                inserttime AS itime ,
                count(1) AS num
            FROM
                info_bind
            GROUP BY
                DATE_FORMAT(inserttime , %Y-%m-%d) ,
                inserttime
            ORDER BY
                idate ASC ,
                num DESC
        ) tmp ,
        (SELECT @pdept := NULL ,@rank := 0) a
    ) result
WHERE
    rank = 1

 

mysql分组取第一个值

原文:http://www.cnblogs.com/cafebaber/p/6344272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!