1、如表记录,Y是TEAM获得冠军的年份,需要查询出连续获得冠军的队伍,并输出最早和最晚的年份。

输出如图:

  • 创建表
create table if not exists nba(team VARCHAR(10),y int(4)
);
  • 插入数据
insert into nba(team,y) values
('活塞',1990),
('公牛',1991),
('公牛',1992),
('公牛',1993),
('火箭',1994),
('火箭',1995),
('公牛',1996),
('公牛',1997),
('公牛',1998),
('马刺',1999),
('湖人',2000),
('湖人',2001),
('湖人',2002),
('马刺',2003),
('活塞',2004),
('马刺',2005),
('热火',2006),
('马刺',2007),
('凯尔特人',2008),
('湖人',2009),
('湖人',2010);

解题思路:

  1. 先找出连续获得冠军的队伍
 select a.team, a.y y1, b.y y2 from nba a,nba b
where a.team = b.team
and a.y = b.y-1


再查找题目的需求:

select n.team, min(y1) y ,max(y2) E  from
(select a.team, a.y y1, b.y y2 from nba a,nba b
where a.team = b.team
and a.y = b.y-1) n
group by n.team, n.y1 - rownum


##去参考了别人的答案,用了分析函数,没太深究他的做法,先贴出来,有空再研究吧。

SELECT TEAM, MIN(Y), MAX(Y)
FROM (SELECT E.*,ROWNUM,ROW_NUMBER() OVER(PARTITION BY TEAM ORDER BY Y) AS RN,ROWNUM - ROW_NUMBER() OVER(PARTITION BY TEAM ORDER BY Y) AS DIFFFROM NBA EORDER BY Y)
GROUP BY TEAM, DIFF
HAVING MIN(Y) != MAX(Y)
ORDER BY 2;

每天学点Oracle——经典NBA连续获得冠军题相关推荐

  1. oracle NBA连续夺冠的题目

    最近看了这么一道题,然后发现有的小伙伴的答案有问题,这里仅附上我个人的写法供大家参考,这也是我第一次写,有不好或者不对的地方欢迎大家指出,先谢过大家啦. 原题目如下: 表nba记录了nba(team  ...

  2. 【oracle】oracle经典sql,exception,database link纠错

    [oracle]oracle经典sql,exception,database link纠错 1111-01 oracle经典sql,exception,database link纠错 1.给表tabl ...

  3. 系列文章----.Net程序员学用Oracle系列

    .Net程序员学用Oracle系列(18):PLSQL Developer 攻略 .Net程序员学用Oracle系列(17):数据库管理工具(SQL Plus) .Net程序员学用Oracle系列(1 ...

  4. Oracle经典面试题,你都掌握了吗?

    本文整理了4道Oracle 经典面试题,与大家分享学习.适合渴望转型DBA的技术人员. 第一题 create table test( id number(10) primary key, type n ...

  5. oracle软件工程,.Net软件工程师学用Oracle系列(9):系统函数(上)

    .Net程序员学用Oracle系列(9):系统函数(上) 本文大纲 众所周知,Oracle 中系统函数特别多,貌似有好几百个,但实际上大部分函数对于普通应用而言,永远都用不到,本文将主要介绍 Orac ...

  6. oracle经典习题(一)

    oracle经典习题(一) 1.显示与BLAKE在同一部门工作的雇员的姓名.工作和入职日期,但是BLAKE不包含在内 1.1 示例sql语句 SELECT ename,job,hiredate FRO ...

  7. 学用ORACLE AWR和ASH特性(4)-生成指定SQL的统计报表

    2.3  生成指定SQL语句的统计报表 这项统计专门用来分析某条指定的SQL语句,通过awrsqrpt.sql脚本,awr能够生成指定sql(曾经执行过的SQL)的执行计划,消耗的资源等等信息,有助于 ...

  8. oracle的查询连续半个月或者一周的数据

    oracle的查询连续半个月或者一周的数据 使用 between and 来查询,如下: 看到当前日期是1-29 再看下查询表的所有数据,可以看到21号到29号有一段连续的数据 然后我们查询今天起倒推 ...

  9. Net程序员学用Oracle系列(1):导航目录

    原文:https://www.cnblogs.com/hanzongze/p/oracle-catalog.html .Net程序员学用Oracle系列(1):导航目录 .Net程序员学用Oracle ...

最新文章

  1. TileList自动滚动指定单元格,可视部分
  2. 3.4.2  连接查询
  3. python入门教程完整版(懂中文就能学会)-Python入门教程完整版400集(懂中文就能学会)快来带走...
  4. “microsoft ace oledb 12.0 未注册”疑云
  5. 10个python使用技巧
  6. vlan之间互相访问_VLAN的划分和网络的配置实例
  7. 使用Docker Compose 搭建lnmp
  8. Pretty girl,你一定要去旅行
  9. 如何判断当前请求的是健康检查API
  10. Redis(十):Redis特殊类型之Hyperloglog基数统计
  11. 第2章 转动眼珠的圆脸(《Python趣味创意编程》教学视频)
  12. quick-cocos2d-x GameCenter 排行榜
  13. acegis连接使用方法_arcgis工具使用方法
  14. 万能地图下载器下载谷歌卫星地图在ArcGIS中套合
  15. Excel如何随机抽取姓名或其他数据
  16. 公司装了cofax传真服务器真的解决了收发传真时存在的诸多不便
  17. linux弹窗指令_Linux弹出U盘的正确姿势(命令行)
  18. mysql 上周时间_mysql 获取上周1到周日的时间
  19. 刘元普双生贵子(但行好事,莫问前程)
  20. window系统批量测试IP地址的bat脚本

热门文章

  1. 山东农商行真题计算机类,2019山东农商行招聘考试计算机题库(七)
  2. 如何引入JavaScript脚本?
  3. C#-graphic-中在PictureBox上使用橡皮筋画线
  4. 云之海服务器无限试炼指令,感恩有你 《我的世界》感恩节系列活动暖心回馈...
  5. VMThread占CPU高基本上是JVM在频繁GC导致,原因基本上是冰法下短时间内创建了大量对象堆积造成频繁GC。
  6. 5G 时代,你会花高价购买只有 4G 功能的手机吗?
  7. 修复好IE 的 DLL
  8. 神经网络如何进行预测
  9. 网页设计_5·乐视商城
  10. 腾讯的“无名之辈”,却比雷军更有钱,他才是程序员里的人生赢家