SQL Server ->> T-SQL查询面试题之实例版
1 - 3 题:
数据表结构:
OrderID ProductID OrderDate SaleAmount
1 1 2015-01-01 100
2 6 2015-02-01 900
3 1 2015-11-01 100
....
1. 找出2015年整年中销量最好(订单量最多)的3款产品。如果有多种方法实现更佳。
结果:
ProductID SaleQuantity
....
2. 找出2015年12个月中每个月销售总额最高的3个产品(如果存在相同的销售总额就一齐输出,例如第4名和第5名的销售总额恰好与第3名相同,同样输出)。如果有多种方法实现更佳。
结果:
SaleMonth ProductID SaleAmount
2015-01 X 11111
2015-02 Y 11111
3. 对每个产品在每一年内的按季度进行一个连续的销售额累加。如果有多种方法实现更佳。
4. 2015年全年销售总额最高的5款产品的每张订单在其订单时间过去一年内最高的销售额。如果有多种方法实现更佳。
5. 拼接结果集
;WITH T1 AS (
SELECT 'A' AS Col1
UNION
SELECT 'B' AS Col1
),
T2 AS (
SELECT 'C' AS Col1
UNION
SELECT 'D' AS Col1
UNION
SELECT 'E' AS Col1
UNION
SELECT 'F' AS Col1
),
T3 AS (
SELECT 'G' AS Col1
)
把这三个结果集拼接成:
T1_Col1 T2_Col1 T3_Col1
A C G
B D NULL
NULL E NULL
NULL F NULL
6. 合并字符串
表:tblOrder
OrderID CustomerID
1 1
2 1
3 1
4 2
5 3
6 2
7 4
8 4
....
按CustomerID为单位,把每个Customer的OrderID用逗号(,)合并在一起成为一个字符串,结果如下:
CustomerID OrderIDs
1 1,2,3
2 4,6
3 5
4 7,8
....
如果有多种方法实现更佳。
7. 寻找缺失数据区间。如果有多种方法实现更佳。
数据:
InvNo
1
2
3
6
8
9
19
结果:
StartNo EndNo
4 5
7 7
10 18
8. 构造数据
数据:
Date Value
2015-01-01 1
2015-01-03 2
2015-01-05 3
2015-01-07 4
2015-01-08 5
构造上面数据的N个副本,每个数据副本的最小日期(字段Date)为上一个副本的最晚日期加1天,字段Value保持和上一个副本一样。假设N为3,最终数据如下:
2015-01-01 1
2015-01-03 2
2015-01-05 3
2015-01-07 4
2015-01-08 5
2015-01-09 1
2015-01-11 2
2015-01-13 3
2015-01-15 4
2015-01-16 5
2015-01-17 1
2015-01-19 2
2015-01-21 3
2015-01-23 4
2015-01-24 5
9. 编写T-SQL产生下列数据
结果:
1
1
2
3
5
8
13
21
34
....
2584
10. 水池注水法/水柱灌水法
假设有5个圆柱体容器,每个圆柱体容器中有不同数量的球体,现在有N个球体可以填入这5个圆柱体容器中,需要按照灌水的方式先填充球体最少的圆柱体,再依次递增。比如:
圆柱体1: O
圆柱体2: OOOO
圆柱体3: OOOOOOO
圆柱体4: OOOOOOOOOO
圆柱体5: OOOOOOOOOOOO
O代表了圆柱体中的球体,现在手头上有12个新的球体,需要对圆柱体1->圆柱体2->圆柱体3(由少至多)分配球体,要均匀分配。
用T-SQL计算出每个圆柱体里面大概可以分配到多少份额的球体。
SQL Server ->> T-SQL查询面试题之实例版的更多相关文章
- 【转】SQL Server T-SQL高级查询
SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; //查询student ...
- SQL SERVER中XML查询:FOR XML指定PATH
SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...
- Sql Server 存储过程中查询数据无法使用 Union(All)
原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...
- SQL Server数据库————连接查询和分组查询
SQL Server数据库————连接查询和分组查询 分组查询 select 列from <表名> where …… group by 列 注意:跟order by一样group ...
- (4.21)sql server中复制查询结果集
在查询结果窗口中复制列标题似乎是一项简单的任务,但对于业余爱好者来说,这可能是一场噩梦. 没有可见的指令/链接/按钮,其中一个可以使用列标题单击和复制所选数据.让我们看看如何在SQL Server M ...
- SQL Server跨服务器查询的实现方法,OpenDataSource
SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...
- SQL Server多条件查询的实现
SQL Server多条件查询的实现 SQL Server多条件查询我们经常会用到,下面就教您如何使用存储过程实现SQL Server多条件查询,希望对您学习SQL Server多条件查询方面有所帮助 ...
- SQL Server参数化SQL语句中的like和in查询的语法(C#)
sql语句进行 like和in 参数化,按照正常的方式是无法实现的 我们一般的思维是: Like参数化查询:string sqlstmt = "select * from users whe ...
- SQL Server 2012 - SQL查询
执行计划显示SQL执行的开销 工具→ SQL Server Profiler : SQL Server 分析器,监视系统调用的SQL Server查询 Top查询 -- Top Percent 选择百 ...
随机推荐
- 小众软件:windows 系统下 exe 文件打包软件
1. Enigma Virtual Box 单文件打包软件 官网:EnigmaProtection 2. 安装包打包软件 官网:Inno Setup 参考文献: [1] 单文件制作工具Enigma V ...
- J15W-J45W铜质截止阀厂家,J15W-J45W铜质截止阀价格 - 专题栏目 - 无极资讯网
无极资讯网 首页 最新资讯 最新图集 最新标签 搜索 J15W-J45W铜质截止阀 无极资讯网精心为您挑选了(J15W-J45W铜质截止阀)信息,其中包含了(J15W-J45W铜质截止阀)厂家,( ...
- js面向对象(二)——继承
上一篇随笔讲了封装,这一篇我们说说继承,还是那上一篇猫和狗说事儿 function Dog(name,s){ this.name=name; this.sex=s; } Dog.prototype.t ...
- easygui.py的安装和下载地址
easygui下载地址:http://nchc.dl.sourceforge.net/project/easygui/0.97/easygui-0.97.zip 安装:解压后将easygui.py拷贝 ...
- SC OpenService 失败5:拒绝访问
当我们在cmd里使用 sc delete 服务名 ,来删除服务的时候,报错误,SC OpenService 失败5:拒绝访问. 这似乎是因为权限不够,解决方法. 首先,我们必须先取得管理员权限,以 ...
- (转)Shell常用的特殊位置参数变量说明
Shell常用的特殊位置参数变量说明 原文:http://m.blog.itpub.net/15498/viewspace-2151142/ $0 获取当前执行的shell脚本的文件名,如果执行 ...
- Oracle 数据库、表、方案的逻辑备份与恢复
数据库(表)的逻辑备份与恢复 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程,逻辑恢复是指当数据库对象被破坏而使用工具import利用备份的文件把数据对象导入到数据库的过程,逻 ...
- Robot Framework常用关键字介绍
常用关键字介绍 在学习一门编程语言的时候,大多教材都是从打印“hello world”开始.我们可以像编程语言一样来学习 Robot Framework.虽然通过 RIDE 提供“填表”一样的写测试用 ...
- android TCP 和 UDP总结(转)
之前写过一些关于TCP和UDP数据传输的代码,比如使用TCP传输音视频数据包,P2P打洞中使用UDP等.写好之后就直接丢下了,没有总结下都.最近准备找工作,再拿来温习下. 1.还是先说点啥 暂时把自己 ...
- bootstrap-select在angular上的应用
1.bootstrap-select 依赖bootstrap.js ,又依赖jQuery,这些都可以用requirejs来处理. 2.一般bootstrap-select 都放在具体的模块上,而是动态 ...