Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Rang pro Monat über mehrere Monate hinweg

Ich denke, Sie möchten, dass die innere Unterabfrage nur nach Kunde aggregiert, nicht nach Kunde und Datum:

select t1.*, 
       @rownum := @rownum + 1 AS RANK
from (select CUST, SUM(POLL) as SCORE
      from TABLE
      where EVE_DATE >= '2016-01-01' and EVE_DATE <= '2016-01-31'
      group by CUST
      order by SCORE desc
     ) t1 cross join
     (SELECT @rownum := 0) r 
order by RANK DESC;