【SQL进阶】分组后在分组内排序、每个分组中取前N条

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/ChinaLiaoTian/article/details/102756371
SELECT p_type,p_name,p_view,row_num 
from ( SELECT p_type,p_name,p_view,IF(@pre=p_type,@rownum:=@rownum+1,@rownum:=1) as row_num,@pre:=p_type
from ( SELECT p_type,p_name,p_view from products order by p_type, p_view desc ) a,
(select @pre:='',@rownum:=0 ) b
) c
where c.row_num <= 2

猜你喜欢

转载自blog.csdn.net/ChinaLiaoTian/article/details/102756371