关于同一张表中DISTINCT问题的解决。
md50 2005-06-03 10:04:49 最近遇到一个比较头痛的问题,请各位高手协助解决,数据结构如下:
UserID Scores
20005 23
20003 25
20005 30
20005 27
20002 50
20001 15
... ...
UserID为varchar型
Scores为int型
我想通过Select来列出Scores排行最高的三个不同的UserID的值出来,结果如下:
UserID Scores
20002 50
20005 30
20003 25
错误的写法如下:
SELECT * from data where userid in (SELECT DISTINCT top 3 UserIDFROM data order by UserID desc) order by Scores desc
请问搞手应该怎么写?