SQL 分组取每组第N行数据
SELECT *,(SELECT count(1)
FROM 个人排名 B
WHERE 个人排名.单位=B.单位
and 个人排名.最终得分>B.最终得分
) as 行号
FROM 个人排名 where
(SELECT count(1)
FROM 个人排名 B
WHERE 个人排名.单位=B.单位
and 个人排名.最终得分>B.最终得分
)=1 --N行-1
要点:行号就是比当前行的值大或者小的排序行的个数
SELECT count(1)FROM 个人排名 B
WHERE 个人排名.单位=B.单位
and 个人排名.最终得分>B.最终得分
参考http://hi.baidu.com/wangzhiqing999/blog/item/46903f55aa5143818d543069.html