2010-12-31 19 views
5

ho bisogno di fare un gruppo dalla clausola con la seguente query:MSSQL row_number() su (ORDER BY) in MySql

SELECT NAME, SUM(donationvalue) FROM tbl_pdm2k10_Donations 
GROUP BY NAME 
ORDER BY SUM(donationvalue) desc 

ma voglio una colonna a sinistra di me ritorno: 1, 2, 3 , 4, 5, ecc. Come risultato. In MSSql farei

SELECT Row_Number() Over(order by SUM(donationvalue) desc), NAME, SUM(donationvalue)  
FROM tbl_pdm2k10_Donations 
    GROUP BY NAME 

è possibile?

risposta

4
set @row:=0; 
SELECT 
    @row:[email protected]+1 as row_numer, 
    NAME, 
    SUM(donationvalue) as total 
FROM tbl_pdm2k10_Donations 
GROUP BY NAME 
ORDER BY total desc