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
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号