日期:2014-05-17  浏览次数:20940 次

SQL语句:按出现次数最多的排列应如何写?(duanzilin(寻)请进)
表:user
nikaname       tjr
a                     cean
b                     chen
c                     cean
d                     cjy
e                     adf211
f                     cean
g                     cjy
h                     cean

查询的结果如下(tjr这栏出现相同记录最多的排前):
cean
cjy
chen
adf211
----------------------------
应该如何得到上面的值。。
搜索论坛http://topic.csdn.net/t/20060119/11/4525142.html把duanzilin(寻)的SQL语句改成以下,提示“ 'ROW_number '   不是可以识别的   函数名。”
SELECT       nikename,tjr      
    FROM               (SELECT       nikename,tjr,   ROW_number()   over(PARTITION   BY     nikename   ORDER       BY       COUNT(*)     DESC)   rn   FROM       [user]     GROUP   BY   nikename,tjr)      
    WHERE           rn       =       1

------解决方案--------------------
兄弟高级呀,居然用到了sql2005,可怜我还在用sql2000
------解决方案--------------------
好办,这样:
Select count(tjr) as n,tjr from user group by tjr order by n desc
------解决方案--------------------
以上方法我已经调试过,可行。tjr列就是你想要的结果。