分组后在分组内排序每个分组中取前N条
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分组后在分组内排序每个分组中取前N条相关的知识,希望对你有一定的参考价值。
SELECT p_type,p_name,p_view,row_num from (
SELECT p_type,p_name,p_view,IF(@bak=p_type,@rownum:[email protected]+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条的主要内容,如果未能解决你的问题,请参考以下文章