DENSE_RANK()后如何返回指定行的排名结果

  • o
    opensesame
    DENSE_RANK()后显示10条记录,如果只想看到id=N的那一条记录怎么写where呢,现在加了where 就只有第一名了
  • f
    funcc
    什么库,在外层再套一层where id=n
  • o
    opensesame
    不是很明白,是sql server,用的.net
    一个系统显示员工考核分数排名,用的DENSE_RANK()排名函数,
    现在要在员工自己的界面显示自己的排名,发现这个函数只能显示排行榜,没法显示某一行的排名
    本想打算是count分数大于自己的员工数显示一下,曲线解决问题,但是这个表有点复杂,这个表里每个员工的分数有多条,还要先用sum(),所以不知道怎么写了
  • f
    funcc
    没有环境验证,随手写的,不一定对。
    select * from (select userid,total_score,dense_rank() over (order by total_score desc) as dn from(select userid,sum(score) as total_score from user_score group by userid) a)b where b.userid=xxx
  • o
    opensesame
    试了下,行不通