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