废话不多说,直接上需求:
---构建数据
create table nba(y number(4),team varchar2(20));
insert into nba values(1947,'费城勇士');
insert into nba values(1948,'巴尔蒂莫子弹');
insert into nba values(1949,'明尼阿波利斯湖人');
insert into nba values(1950,'明尼阿波利斯湖人');
insert into nba values(1951,'皇家罗切斯特');
insert into nba values(1952,'明尼阿波利斯湖人');
insert into nba values(1953,'明尼阿波利斯湖人');
insert into nba values(1954,'明尼阿波利斯湖人');
insert into nba values(1955,'塞拉库斯民族');
insert into nba values(1956,'费城勇士');
insert into nba values(1957,'波士顿凯尔特人');
insert into nba values(1958,'圣路易斯老鹰');
insert into nba values(1959,'波士顿凯尔特人');
insert into nba values(1960,'波士顿凯尔特人');
insert into nba values(1961,'波士顿凯尔特人');
insert into nba values(1962,'波士顿凯尔特人');
insert into nba values(1963,'波士顿凯尔特人');
insert into nba values(1964,'波士顿凯尔特人');
insert into nba values(1965,'波士顿凯尔特人');
insert into nba values(1966,'波士顿凯尔特人');
insert into nba values(1967,'费城76人');
insert into nba values(1968,'波士顿凯尔特人');
insert into nba values(1969,'波士顿凯尔特人');
insert into nba values(1970,'纽约尼克斯');
insert into nba values(1971,'密尔沃基雄鹿');
insert into nba values(1972,'洛杉矶湖人');
insert into nba values(1973,'纽约尼克斯');
insert into nba values(1974,'波士顿凯尔特人');
insert into nba values(1975,'金州勇士');
insert into nba values(1976,'波士顿凯尔特人');
insert into nba values(1977,'波特兰开拓者');
insert into nba values(1978,'华盛顿子弹');
insert into nba values(1979,'西雅图超音速');
insert into nba values(1980,'洛杉矶湖人');
insert into nba values(1981,'波士顿凯尔特人');
insert into nba values(1982,'洛杉矶湖人');
insert into nba values(1983,'费城76人');
insert into nba values(1984,'波士顿凯尔特人');
insert into nba values(1985,'洛杉矶湖人');
insert into nba values(1986,'波士顿凯尔特人');
insert into nba values(1987,'洛杉矶湖人');
insert into nba values(1988,'洛杉矶湖人');
insert into nba values(1989,'底特律活塞');
insert into nba values(1990,'底特律活塞');
insert into nba values(1991,'芝加哥公牛');
insert into nba values(1992,'芝加哥公牛');
insert into nba values(1993,'芝加哥公牛');
insert into nba values(1994,'休斯顿火箭');
insert into nba values(1995,'休斯顿火箭');
insert into nba values(1996,'芝加哥公牛');
insert into nba values(1997,'芝加哥公牛');
insert into nba values(1998,'芝加哥公牛');
insert into nba values(1999,'圣安东尼奥马刺');
insert into nba values(2000,'洛杉矶湖人');
insert into nba values(2001,'洛杉矶湖人');
insert into nba values(2002,'洛杉矶湖人');
insert into nba values(2003,'圣安东尼奥马刺');
insert into nba values(2004,'底特律活塞');
insert into nba values(2005,'圣安东尼奥马刺');
insert into nba values(2006,'迈阿密热火');
insert into nba values(2007,'圣安东尼奥马刺');
insert into nba values(2008,'波士顿凯尔特人');
insert into nba values(2009,'洛杉矶湖人');
insert into nba values(2010,'洛杉矶湖人');
insert into nba values(2011,'达拉斯小牛');
insert into nba values(2012,'迈阿密热火');
insert into nba values(2013,'迈阿密热火');
insert into nba values(2014,'圣安东尼奥马刺');
commit;
要求查询结果如下:
球队 开始年份 结束年份
明尼阿波利斯湖人 1949 1950
明尼阿波利斯湖人 1952 1954
波士顿凯尔特人 1959 1966
波士顿凯尔特人 1968 1969
洛杉矶湖人 1987 1988
底特律活塞 1989 1990
芝加哥公牛 1991 1993
休斯顿火箭 1994 1995
芝加哥公牛 1996 1998
洛杉矶湖人 2000 2002
洛杉矶湖人 2009 2010
迈阿密热火 2012 2013
SQL解法:
FROM (SELECT ROWNUM,
NBA.Y,
NBA.TEAM,
ROWNUM - ROW_NUMBER() OVER(PARTITION BY TEAM ORDER BY Y) AS RN
FROM NBA
ORDER BY Y)GROUP BY team, rn )WHERE cnt >1 ORDER BY min_y ASC ;
效果图:
![](/attachment/201504/18/29507357_14293644692gtT.png)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29507357/viewspace-1585137/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29507357/viewspace-1585137/