需求是這樣的(CSDN上的一個問題):mysql中有個表:article(字段:id,type,date),type有1-10,10種類型。如今要用SQL找出每種類型中時間最新的前N個數據組成的集合。mysql
這個問題應該有不少方法能夠實現,下面就來講說在網上看到的一位高手的實現(用一條SQL語句實現的,我的感受很是好,因此拿來和你們分享sql
select a1.* from article a1 inner join( select a.type, a.date from article a left join article b on a.type = b.type and a.date <= b.date group by a.type, a.date having count( b.date )<= 2 ) b1 on a1.type = b1.type and a1.date = b1.date order by a1.type, a1.date desc