Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Classement par mois sur plusieurs mois

Je pense que vous voulez que la sous-requête interne soit agrégée uniquement par client, pas par client et par date :

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;