1. 快速填充数字辅助表: 倍增,平方根,平方
2. 获取已有范围和缺失范围;
3. 获取每个员工最新的3个订单;
4. 统计字符串内某子字符串出现的次数;(利用replace函数)
5. 实现Except All;
6. 拆分元素:
代码
--Table
USE tempdb;
GO
IF OBJECT_ID('dbo.Arrays') IS NOT NULL
DROP TABLE dbo.Arrays;
GO
CREATE TABLE dbo.Arrays
(
arrid VARCHAR(10) NOT NULL PRIMARY KEY,
array VARCHAR(8000) NOT NULL
)
INSERT INTO Arrays(arrid, array) VALUES('A', '20,22,25,25,14');
INSERT INTO Arrays(arrid, array) VALUES('B', '30,33,28');
INSERT INTO Arrays(arrid, array) VALUES('C', '12,10,8,12,12,13,12,14,10,9');
INSERT INTO Arrays(arrid, array) VALUES('D', '-4,-6,-4,-2');
USE tempdb;
GO
IF OBJECT_ID('dbo.Arrays') IS NOT NULL
DROP TABLE dbo.Arrays;
GO
CREATE TABLE dbo.Arrays
(
arrid VARCHAR(10) NOT NULL PRIMARY KEY,
array VARCHAR(8000) NOT NULL
)
INSERT INTO Arrays(arrid, array) VALUES('A', '20,22,25,25,14');
INSERT INTO Arrays(arrid, array) VALUES('B', '30,33,28');
INSERT INTO Arrays(arrid, array) VALUES('C', '12,10,8,12,12,13,12,14,10,9');
INSERT INTO Arrays(arrid, array) VALUES('D', '-4,-6,-4,-2');
You need to get the result like below:
arrid |
pos |
val |
---|---|---|
A |
1 |
20 |
A |
2 |
22 |
A |
3 |
25 |
A |
4 |
25 |
A |
5 |
14 |
B |
1 |
30 |
B |
2 |
33 |
B |
3 |
28 |
C |
1 |
12 |
C |
2 |
10 |
C |
3 |
8 |
C |
4 |
12 |
C |
5 |
12 |
C |
6 |
13 |
C |
7 |
12 |
C |
8 |
14 |
C |
9 |
10 |
D |
1 |
4 |
D |
2 |
6 |
D |
3 |
4 |
D |
4 |
2 |
7. 自己实现NTILE(把行分布到指定数量的组中),如果不能整除的行随机放到某个组中;
8. 获取数学成绩最高的人的名字;获取每个科目成绩最高的人的名字(存在并列的);
9. 是否存在无数个素数?