码迷,mamicode.com
首页 > 编程语言 > 详细

分组后在分组内排序、每个分组中取前N条

时间:2017-06-13 14:38:27      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:mysql

SELECT p_type,p_name,p_view,row_num from (

SELECT p_type,p_name,p_view,IF(@bak=p_type,@rownum:=@rownum+1,@rownum:=1) as row_num, @bak:=p_type

FROM

( SELECT p_type,p_name,p_view from products 

order by p_type,p_view desc ) a , ( SELECT @rownum:=0,@bak:=‘‘) b 

) c WHERE c.row_num <=2


IF函数

IF(条件,表达式1,表达式2)

 如果条件成立 则返回表达式1,否则是2


分组后在分组内排序、每个分组中取前N条

标签:mysql

原文地址:http://chinaleo.blog.51cto.com/9897868/1934821

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