在oracle下sql:比较巧妙地是group by 部分
1 select max(c.team) TEAM,min(c.y) B,max(c.y)+1 E2 from3 (select a.team,b.y from nba a,nba b4 where a.team=b.team and a.y-b.y=1) c5 group by (c.y-rownum)6 order by B
在mysql下的sql:由于mysql没有rownum所以用了它的替代
1 SELECT cc.team TEAM, MIN(cc.y) BEGIN,MAX(cc.y)+1 END FROM 2 (SELECT aa.team ,aa.y , @rownum:=@rownum+1 AS rownum FROM 3 (SELECT @rownum:=0) r ,4 (SELECT team ,Y FROM `nba` ORDER BY Y) aa ,5 (SELECT team ,Y FROM NBA ORDER BY Y) bb 6 WHERE aa.team = bb.team AND aa.y=bb.y-1) cc 7 GROUP BY (cc.y-cc.rownum)8 ORDER BY MIN(cc.y)
结果: