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 ...
随机推荐
- scipy 图像处理-深度学习
scipy 图像处理(scipy.misc.scipy.ndimage).matplotlib 图像处理 from scipy.misc import imread / imsave / imshow ...
- kaldi HMM-GMM全部训练脚本分解
目录 train_mono.sh train_deltas.sh train_lda_mllt.sh train_sat.sh train_mono.sh 单音素训练脚本: //初始化,[topo f ...
- windows store无法登陆的问题解决方案
Windows应用商店或商店Apps无法打开或闪退的可选方法 (仅用于10565之前的Windows 10版本) 右键点击任务栏,选择"属性",切换到"导航"选 ...
- Js全反选DataGrid
// **************************************************************** // // function Trim(value) // -- ...
- *.hbm.xml作用是什么
实体与表的映射关系通过XML来描述的文件.在 hibernate.cfg.xml中管理,在项目启动的时候加载到内存. hbm指的是hibernate的映射文件 映射文件也称映射文档,用于向Hibern ...
- ThinkPHP - 4 - 学习笔记(2015.4.12)
ThinkPHP D方法 D方法用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持跨项目和分组调用,调用格式如下:D('[项目://][分组/]模型' ...
- Centos6配置开启FTP Server
vsftpd作为FTP服务器,在Linux系统中是非常常用的.下面我们介绍如何在centos系统上安装vsftp. 什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...
- POJ 3384 Feng Shui(计算几何の半平面交+最远点对)
Description Feng shui is the ancient Chinese practice of placement and arrangement of space to achie ...
- 福大软工1816 · 第五次作业 - 结对作业2_map与unordered map的比较测试
测试代码: #include <iostream> using namespace std; #include <string> #include <windows.h& ...
- mac终端命令-----常规操作
OSX 的文件系统 OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念. 你在桌面上看到的硬盘都挂在 /Volumes 下. 比如接上个叫做 US ...