O zaman şöyle bir sorgu senin işini görür diye düşünüyorum.

"SELECT SUM(puan) UserPuan, UserID FROM `table` GROUP BY UserID ORDER BY UserPuan DESC"
Yukarıdaki sorguda puan, table ve UserID field isimlerini kendinkinle değiştir,

SUM(puan) UserPuan buradaki UserPuan artık yeni puanlarının hesaplanmış field ismidir.

Sorgu dönüşü
UserPuan | UserID
5 | 3
2 | 1

gibi