Mysql 分組後在分組內排序、每個分組中取前N條

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章