3,499
社区成员
发帖
与我相关
我的任务
分享WITH t AS (
SELECT '公牛' team,1992 y FROM DUAL UNION ALL
SELECT '公牛' team,1993 y FROM DUAL UNION ALL
SELECT '火箭' team,1994 y FROM DUAL UNION ALL
SELECT '火箭' team,1995 y FROM DUAL UNION ALL
SELECT '公牛' team,1996 y FROM DUAL UNION ALL
SELECT '公牛' team,1997 y FROM DUAL UNION ALL
SELECT '公牛' team,1998 y FROM DUAL UNION ALL
SELECT 'ma刺' team,1999 y FROM DUAL UNION ALL
SELECT '湖人' team,2000 y FROM DUAL UNION ALL
SELECT '湖人' team,2001 y FROM DUAL UNION ALL
SELECT '湖人' team,2002 y FROM DUAL UNION ALL
SELECT '马刺' team,2003 y FROM DUAL UNION ALL
SELECT '活塞' team,2004 y FROM DUAL UNION ALL
SELECT '马刺' team,2005 y FROM DUAL UNION ALL
SELECT '热火' team,2006 y FROM DUAL UNION ALL
SELECT '马刺' team,2007 y FROM DUAL UNION ALL
SELECT '凯尔特人' team,2008 y FROM DUAL UNION ALL
SELECT '湖人' team,2009 y FROM DUAL UNION ALL
SELECT '湖人' team,2010 y FROM DUAL
)
SELECT t2.team,
MIN(t2.y) start_hm,
MAX(t2.y) end_hm
FROM (SELECT t.team,
t.y,
t.y - ROW_NUMBER() OVER(PARTITION BY t.team ORDER BY t.y) y1
FROM t) t2
GROUP BY t2.team,
t2.y1
HAVING COUNT(*) > 1;
select t.team_t,t.Start_HM,t.End_HM
from (SELECT b.team team_t, MIN (b.y) Start_HM, MAX (b.y) End_HM
FROM (SELECT a.*, TO_NUMBER (a.y - ROWNUM) cc
FROM (SELECT * FROM winner ORDER BY team, y) a) b
GROUP BY b.team, b.cc) t
where t.Start_HM!=t.End_HM;