sql 建表以及查询---复杂查询之成绩排名
废话不说,直接建表
1.表Player
USE T4st -- 设置当前数据库为T4st,以便访问sysobjects
IF EXISTS(SELECT * FROM sysobjects WHERE name='Player')
DROP TABLE Player
CREATE TABLE Player
(
Code VARCHAR(4) PRIMARY KEY NOT NULL,
Name VARCHAR(50),
)
INSERT INTO Player VALUES('','赵甲');
INSERT INTO Player VALUES('','钱乙');
INSERT INTO Player VALUES('','孙丙');
INSERT INTO Player VALUES('','李丁');
INSERT INTO Player VALUES('','周戊');
INSERT INTO Player VALUES('','吴已');
INSERT INTO Player VALUES('','郑庚');
INSERT INTO Player VALUES('','王辛');
INSERT INTO Player VALUES('','冯壬');
INSERT INTO Player VALUES('','陈葵'); SELECT * FROM Player
GO
2.表Record
USE T4st -- 设置当前数据库为T4st,以便访问sysobjects
IF EXISTS(SELECT * FROM sysobjects WHERE name='Record')
DROP TABLE Record
CREATE TABLE Record
(
Time DATETIME PRIMARY KEY NOT NULL,
Code VARCHAR(4),
Height VARCHAR(5),
Sucess VARCHAR(5)
)
INSERT INTO Record VALUES('2017-02-22 08:01:11','','1.80','False');
INSERT INTO Record VALUES('2017-02-22 08:02:32','','1.71','True');
INSERT INTO Record VALUES('2017-02-22 08:03:25','','1.81','True');
INSERT INTO Record VALUES('2017-02-22 08:04:22','','1.90','False');
INSERT INTO Record VALUES('2017-02-22 08:05:15','','1.90','True');
INSERT INTO Record VALUES('2017-02-22 08:07:06','','1.90','False');
INSERT INTO Record VALUES('2017-02-22 08:08:19','','1.91','True');
INSERT INTO Record VALUES('2017-02-22 08:09:18','','1.92','True');
INSERT INTO Record VALUES('2017-02-22 08:10:48','','1.81','True');
INSERT INTO Record VALUES('2017-02-22 08:12:36','','1.79','False'); SELECT * FROM Record
GO
3.判定特定时间段的成绩无效
USE T4st
DECLARE @time1 DATETIME,@time2 DATETIME
SET @time1 ='2017-02-22 08:03:00'
SET @time2 ='2017-02-22 08:09:00'
BEGIN
SELECT * FROM Record WHERE Time > @time1 AND Time < @time2
--判定特定时间段的成绩无效
UPDATE Record SET Sucess='False' WHERE Time > @time1 AND Time < @time2
SELECT * FROM Record WHERE Time > @time1 AND Time < @time2
END
GO
4.两表联合查询输出到一起(成绩有效者的时间,姓名,高度)
USE T4st
SELECT b.TIME,a.NAME,b.Height FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' ORDER BY b.TIME ASC
GO

5.两表联合查询输出到一起(主要排名冠亚季军)
USE T4st
SELECT c.NAME,c.SCORD,'冠军' AS DeJiang FROM (
SELECT a.NAME,MAX(b.Height) AS SCORD,
ROW_NUMBER() over(order by a.NAME) as ROWS
FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' GROUP BY a.NAME) c WHERE c.ROWS = ''
UNION
SELECT c.NAME,c.SCORD,'亚军' AS DeJiang FROM (
SELECT a.NAME,MAX(b.Height) AS SCORD,
ROW_NUMBER() over(order by a.NAME) as ROWS
FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' GROUP BY a.NAME) c WHERE c.ROWS = ''
UNION
SELECT c.NAME,c.SCORD,'季军' AS DeJiang FROM (
SELECT a.NAME,MAX(b.Height) AS SCORD,
ROW_NUMBER() over(order by a.NAME) as ROWS
FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' GROUP BY a.NAME) c WHERE c.ROWS = ''
GO
运行结果如下:

sql 建表以及查询---复杂查询之成绩排名的更多相关文章
- Oracle笔记(十一) 建表、更新、查询综合练习
有某个学生运动会比赛信息的数据库,保存了如下的表: 运动员sporter(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系号department) 项目item(项目编号it ...
- sql建表,建索引注意事项
建表注意 .建议字段定义为NOT NULL 搜索引擎 MyISAM InnoDB 区别 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基 ...
- sql建表经验总结——主要是建表现象
在建表方面你都有哪些感悟? 见过的建表的一些现象: 1,一对多业务,有时候在主表见一个字段xxIds,然后存多表的id,多个英文逗号隔开,不知道这样好不好? 2,大部分字段建成varchar(50), ...
- spark sql建表的异常
在使用spark sql创建表的时候提示如下错误: missing EOF at 'from' near ')' 可以看下你的建表语句中是不是create external table .... ...
- SQL 建表与查询 HTML计算时间差
create database xue1 go --创建数据库 use xue1 go --引用数据库 create table xinxi ( code int, name ), xuehao ), ...
- sql server 表变量存储临时查询数据
对于使用sql server 编写存储过程或者类似的sql 查询的时候我们使用表变量进行临时数据的存储,可以方便我们进行下来的数据处理 表变量的使用类似如下: declare @userinfo ta ...
- Oracle的关于建表,约束,查询等的练习
从建立一个简单表,到实现一些复杂查询的例子, DROP TABLE grade;DROP TABLE item;DROP TABLE sporter;CREATE TABLE sporter( spo ...
- sql:Oracle11g 表,视图,存储过程结构查询
-- Oracle 11 G --20160921 涂聚文再次修改 --Geovin Du --GetTables SELECT owner, object_name, created FROM al ...
- 一个SQL 建表格式
CREATE TABLE [dbo].[SysSample]([Id] [varchar](50) NOT NULL,[Name] [varchar](50) NULL,[Age] [int] NUL ...
随机推荐
- 【转载】完全版线段树 by notonlysuccess大牛
原文出处:http://www.notonlysuccess.com/ 今晚上比赛就考到了 排兵布阵啊,难受. [完全版]线段树 很早前写的那篇线段树专辑至今一直是本博客阅读点击量最大的一片文章,当时 ...
- CryptoZombies学习笔记——Lesson5
chapter1:token代币 简而言之,通证就是支持交易的包含一系列规范的函数接口的一个智能合约,发币可以用ERC20标准,但是像僵尸这种非同质化代币,需要用ERC721标准 chapter2:e ...
- oraclize预言机资料
oraclize预言机资料 智能合约如何可信的与外部世界交互: https://blog.csdn.net/sportshark/article/details/77477842 国外一篇讲得很详细的 ...
- 测试下markdown!
目录 目的 代码 目的 测试markdown 代码 void static void main(args String[]){ System.out.println("hollw" ...
- HDU 3268/POJ 3835 Columbus’s bargain(最短路径+暴力枚举)(2009 Asia Ningbo Regional)
Description On the evening of 3 August 1492, Christopher Columbus departed from Palos de la Frontera ...
- JavaScript筑基篇(二)->JavaScript数据类型
说明 介绍JavaScript数据类型 目录 前言 参考来源 前置技术要求 JavaScript的6种数据类型 哪6种数据类型 undefined 类型 null 类型 boolean 类型 numb ...
- Web后台任务处理
文章:.NET Core开源组件:后台任务利器之Hangfire Hangfire官网介绍:在.NET和.NET Core应用程序中执行后台处理的简便方法.无需Windows服务或单独的过程. 以持久 ...
- tweenjs缓动算法使用小实例
这里的tweenjs不是依托于createjs的tewwnjs,而是一系列缓动算法集合.因为本身是算法,可以用在各个业务场景中,这也正是总结学习它的价值所在.tweenjs代码详情: /* * Twe ...
- 新建maven工程问题001
这周一直在研究SpringMVC+Mybatis,有些心得,记录一下. Ⅰ:建maven遇到的问题. 1.1 新建maven时选中[Create a simple project]这样,后面[Pack ...
- shmem:
在/proc/meminfo中发现,cached不等于ActiveFile + InActiveFile,我们来看看cache到底都包括啥内存 1)首先肯定包含activeFile 和 inactiv ...