每天学点Oracle——经典NBA连续获得冠军题
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);
解题思路:
- 先找出连续获得冠军的队伍
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连续获得冠军题相关推荐
- oracle NBA连续夺冠的题目
最近看了这么一道题,然后发现有的小伙伴的答案有问题,这里仅附上我个人的写法供大家参考,这也是我第一次写,有不好或者不对的地方欢迎大家指出,先谢过大家啦. 原题目如下: 表nba记录了nba(team ...
- 【oracle】oracle经典sql,exception,database link纠错
[oracle]oracle经典sql,exception,database link纠错 1111-01 oracle经典sql,exception,database link纠错 1.给表tabl ...
- 系列文章----.Net程序员学用Oracle系列
.Net程序员学用Oracle系列(18):PLSQL Developer 攻略 .Net程序员学用Oracle系列(17):数据库管理工具(SQL Plus) .Net程序员学用Oracle系列(1 ...
- Oracle经典面试题,你都掌握了吗?
本文整理了4道Oracle 经典面试题,与大家分享学习.适合渴望转型DBA的技术人员. 第一题 create table test( id number(10) primary key, type n ...
- oracle软件工程,.Net软件工程师学用Oracle系列(9):系统函数(上)
.Net程序员学用Oracle系列(9):系统函数(上) 本文大纲 众所周知,Oracle 中系统函数特别多,貌似有好几百个,但实际上大部分函数对于普通应用而言,永远都用不到,本文将主要介绍 Orac ...
- oracle经典习题(一)
oracle经典习题(一) 1.显示与BLAKE在同一部门工作的雇员的姓名.工作和入职日期,但是BLAKE不包含在内 1.1 示例sql语句 SELECT ename,job,hiredate FRO ...
- 学用ORACLE AWR和ASH特性(4)-生成指定SQL的统计报表
2.3 生成指定SQL语句的统计报表 这项统计专门用来分析某条指定的SQL语句,通过awrsqrpt.sql脚本,awr能够生成指定sql(曾经执行过的SQL)的执行计划,消耗的资源等等信息,有助于 ...
- oracle的查询连续半个月或者一周的数据
oracle的查询连续半个月或者一周的数据 使用 between and 来查询,如下: 看到当前日期是1-29 再看下查询表的所有数据,可以看到21号到29号有一段连续的数据 然后我们查询今天起倒推 ...
- Net程序员学用Oracle系列(1):导航目录
原文:https://www.cnblogs.com/hanzongze/p/oracle-catalog.html .Net程序员学用Oracle系列(1):导航目录 .Net程序员学用Oracle ...
最新文章
- TileList自动滚动指定单元格,可视部分
- 3.4.2 连接查询
- python入门教程完整版(懂中文就能学会)-Python入门教程完整版400集(懂中文就能学会)快来带走...
- “microsoft ace oledb 12.0 未注册”疑云
- 10个python使用技巧
- vlan之间互相访问_VLAN的划分和网络的配置实例
- 使用Docker Compose 搭建lnmp
- Pretty girl,你一定要去旅行
- 如何判断当前请求的是健康检查API
- Redis(十):Redis特殊类型之Hyperloglog基数统计
- 第2章 转动眼珠的圆脸(《Python趣味创意编程》教学视频)
- quick-cocos2d-x GameCenter 排行榜
- acegis连接使用方法_arcgis工具使用方法
- 万能地图下载器下载谷歌卫星地图在ArcGIS中套合
- Excel如何随机抽取姓名或其他数据
- 公司装了cofax传真服务器真的解决了收发传真时存在的诸多不便
- linux弹窗指令_Linux弹出U盘的正确姿势(命令行)
- mysql 上周时间_mysql 获取上周1到周日的时间
- 刘元普双生贵子(但行好事,莫问前程)
- window系统批量测试IP地址的bat脚本
热门文章
- 山东农商行真题计算机类,2019山东农商行招聘考试计算机题库(七)
- 如何引入JavaScript脚本?
- C#-graphic-中在PictureBox上使用橡皮筋画线
- 云之海服务器无限试炼指令,感恩有你 《我的世界》感恩节系列活动暖心回馈...
- VMThread占CPU高基本上是JVM在频繁GC导致,原因基本上是冰法下短时间内创建了大量对象堆积造成频繁GC。
- 5G 时代,你会花高价购买只有 4G 功能的手机吗?
- 修复好IE 的 DLL
- 神经网络如何进行预测
- 网页设计_5·乐视商城
- 腾讯的“无名之辈”,却比雷军更有钱,他才是程序员里的人生赢家