mysql分组取第一个值


业务需要,统计交易数据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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM