業務需要,統計交易數據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