Oracle程序题之:夺冠球队_新新许愿树的博客-程序员宅基地

技术标签: # Oracle  关系型数据库  

表 nba 记录了 nba(team VARCHAR2(10),y NUMBER(4))夺冠球队的名称及年份:

TEAM                   Y

-------------------------

活塞                   1990

公牛                   1991

公牛                   1992

公牛                   1993

火箭                   1994

火箭                   1995

公牛                   1996

公牛                   1997

公牛                   1998

马刺                   1999

湖人                   2000

湖人                   2001

湖人                   2002

马刺                   2003

活塞                   2004

马刺                   2005

热火                   2006

马刺                   2007

凯尔特人             2008

湖人                   2009

湖人                   2010

 

请写出一条 SQL 语句,查询出在此期间连续获得冠军的有哪些,其连续的年份的起止时间是多少,

结果如下:

TEAM                   B              E

------------------------------ ---------

公牛                   1991          1993

火箭                   1994          1995

公牛                   1996          1998

湖人                   2000          2002

湖人                   2009          2010

 

答案:

SELECT MAX(nn.team) team,MIN(nn.y) Beginy,MAX(nn.y)+1 Endy 
FROM	(SELECT n2.team,n2.y,ROWNUM,n2.y-ROWNUM 
	 FROM (SELECT * FROM nba) n1  
	 INNER JOIN
	(SELECT * FROM nba) n2
         ON
	 n1.team=n2.team
	 WHERE
	 n1.y=n2.y+1) nn
GROUP BY (nn.y-ROWNUM)
ORDER BY Beginy;

1.通过自身查询,查询出连续两年获奖的球队,为了方便理解,添加了两个伪列,用于表示行号和球队开始获奖的年份

SELECT n2.team,n2.y,ROWNUM,n2.y-ROWNUM 
FROM (SELECT * FROM nba) n1  
INNER JOIN (SELECT * FROM nba) n2
ON
n1.team=n2.team
WHERE
n1.y=n2.y+1

查询结果

2.将上面的结果作为子查询,按开始获奖年份进行排序,最后连续获奖的一年为MAX(nn.y)+1

SELECT MAX(nn.team) team,MIN(nn.y) Beginy,MAX(nn.y)+1 Endy 
FROM	(SELECT n2.team,n2.y,ROWNUM,n2.y-ROWNUM
	 FROM (SELECT * FROM nba) n1  
	 INNER JOIN
	 (SELECT * FROM nba) n2
	 ON
	 n1.team=n2.team
	 WHERE
         n1.y=n2.y+1) nn
GROUP BY (nn.y-ROWNUM)
ORDER BY Beginy;

查询结果

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41541619/article/details/80046351

智能推荐

对于 Non-local Neural Networks 的一点思考_周航宁的博客-程序员宅基地

第一篇博客献给Non-local吧,先mark上,5.1假期补一下

打不开mysql exe文件怎么打开文件_exe文件打不开怎么办?_weixin_39569747的博客-程序员宅基地

exe文件无法打开应该怎么解决?小编今天教大家如何解决电脑exe文件打不开的问题。方法步骤1.小伙伴们在使用电脑的时候避免不了会出现这样那样的问题,遇到问题对症解决就好,今天小编就就来教大家解决电脑上无法打开exe可执行文件的问题。2.我们首先在电脑桌面上右键新建,新建一个文本文档,然后在里面复制以下的代码,直接粘贴即可。Windows Registry Editor Version 5.00[H...

17 位谷歌 Android 开发专家是如何看待 Kotlin 的?_上天眷顾我的博客-程序员宅基地

译者简介:ASCE1885, 《Android 高级进阶》作者。微信公众号:asce1885小密圈:Android高级进阶,详情见这篇文章。Github,简书,微博,CSDN 知乎原文链接:https://antonioleiva.com/google-kotlin/, 由于 Markdown 对图片的排版存在限制,因此为了保证排版的美观,本文对作者介绍部分进行截图,不做另外的翻译

mueditor选择python版本_Mu Editor_weixin_39611389的博客-程序员宅基地

Mu Editor是款面向初学者设计的极简型Python集成编辑器,采用Python编写,用户可以轻松的理解并使用菜单上的众多功能,使初学者在微控制工具、微处理器编程上更能得心应手。Mu Editor是一个模态编辑器,它具有ADAFRUIT的PythPython模式、My:BIT版本的PyPython、PyPrGAME零和标准Python 3(包括一个图形调试器)。一些模式使RePL(无论是在连接...

在线psd生成html5,Web, Desktop and Mobile Software Development Company_英伦百宝箱的博客-程序员宅基地

We have chosen WebReinvent Technologies after a long research. We have cross checked capabilities and reviews of many vendors and finally awarded our projects to WebReinvent. I can proudly say that my...

机器学习术语表_风雪云侠的博客-程序员宅基地

机器学习术语表A/B 测试 (A/B testing)一种统计方法,用于将两种或多种技术进行比较,通常是将当前采用的技术与新技术进行比较。A/B 测试不仅旨在确定哪种技术的效果更好,而且还有助于了解相应差异是否具有显著的统计意义。A/B 测试通常是采用一种衡量方式对两种技术进行比较,但也适用于任意有限数量的技术和衡量方式。...

随便推点

linux docker漏洞,公开仓库中Docker镜像的漏洞分析结果发布_weixin_39795479的博客-程序员宅基地

Federacy的一名研究人员发布了一项报告,该报告分析了公开仓库中Docker镜像的漏洞。24%的镜像发现了明显的漏洞,其中基于Ubuntu的镜像漏洞最多,而基于Debian的镜像漏洞最少。这项研究扫描了133个公开Docker仓库中的91个,其中每个仓库都有一个添加‘latest’标记的镜像,底层的镜像是一个主Linux分发版本并且带有可运行的包管理器。这里,使用了一个修改过的vuls开源漏洞...

mocha 测试 mysql,Mocha测试与数据库的连接_人间宝藏忘川是也的博客-程序员宅基地

I would like to test the connectivity to my DB using Mocha, but it seems that I do it the wrong way since whatever the credentials are, I always got my test passed ...Here is the code I use:describe('...

mysql 1877_com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:是什么异常??_左耳余音的博客-程序员宅基地

com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:Nooperationsallowedafterconnectionclosed.atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)atc...com.mysql.jdbc.exceptions.M...

__app__ .php,快来了解下TP6中的超等函数app()!_PHP开发框架教程_FasterThanMind的博客-程序员宅基地

下面由thinkphp框架教程栏目给人人引见TP6中的超等函数app(),愿望对须要的朋侪有所协助! tp6中的助手函数app(),是一个包括极广,涵盖极深,作用庞大的助手函数,他能够挪用许多要领,也是许多助手函数 的鸠合。起首这是在helper.php中定义的一个助手函数,我们来看一下:if (!function_exists('app')) {/*** 疾速猎取容器中的实例 支撑依靠注入* @...

Aviator执行引擎学习整理_我的老Java的博客-程序员宅基地_aviator引擎

高性能轻量级Java语言实现表达式求值引擎用于各种表达式的动态求值为什么选择aviator?设计目标就是轻量级和高性能,相比于Groovy和JRuby的笨重,aviator非常小其他求值器一般是通过解释的方式运行,而aviator是直接将表达式编译成Java字节码,交给JVM去执行支持大部分运算操作符【算数操作符、关系运算符、逻辑操作符、位运算、正则匹配操作符=~、三元运算符】,并且支持操作符的优先级和括号强制优先级缺点语法受限,不是一门完整的语言,只是语言的一小部分集合。依赖.

react 高频面试题_屹洲城主的博客-程序员宅基地

1、什么是虚拟DOM? 虚拟 DOM (VDOM)是真实 DOM 在内存中的表示。UI 的表示形式保存在内存中,并与实际的 DOM 同步。这是一个发生在渲染函数被调用和元素在屏幕上显示之间的步骤,整个过程被称为调和。2、虚拟DOM实现的原理?1)虚拟DOM本质上是JavaScript对象,是对真实DOM的抽象2)状态变更时,记录新树和旧树的差异3)最后把差异更新到真正的dom中3、类组件和函数组件之间的区别是啥? 类组件可以使用其他特性,如状态 state 和生..

推荐文章

热门文章

相关标签