mysql 實現分組取出各自組內排序前三的數據


 

  利用變量實現

set @c_id:=null, @rownum:=0;
select
*
from
(SELECT t.*,
@rownum:= (case when @c_id = t.c_id then @rownum + 1 else 1 end) count,
@c_id:=t.c_id
FROM t_class_message t 
order by t.c_id asc, t.create_time desc ) T
where count < 4 ;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM