码迷,mamicode.com
首页 > 数据库 > 详细

mysql 实现 row_number() over(pattition by a order by b )

时间:2016-12-02 21:14:45      阅读:429      评论:0      收藏:0      [点我收藏+]

标签:order   实现   sel   from   inf   res   mysq   lan   group by   

SELECT prod_province,prod_cnode,prod_balance,rank FROM
(
SELECT b.prod_province,b.prod_cnode,b.prod_balance,@rownum:=@rownum+1 ,
IF(@pdept=b.prod_province,@rank:=@rank+1,@rank:=1) AS rank, @pdept:=b.prod_province
FROM (
SELECT prod_province,prod_cnode,SUM(prod_balance) prod_balance
FROM t_prod_info
GROUP BY prod_province,prod_cnode
ORDER BY prod_province,prod_balance DESC
) b ,(SELECT @rownum :=0 , @pdept := ‘‘ ,@rank:=0) c
) result
HAVING rank <4 ;

mysql 实现 row_number() over(pattition by a order by b )

标签:order   实现   sel   from   inf   res   mysq   lan   group by   

原文地址:http://www.cnblogs.com/xiguanjiandan/p/6126816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!