Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 646dd78

Browse files
sql行转列
1 parent 463ed34 commit 646dd78

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
SQL开发技巧(二)
2+
内容介绍:
3+
1.如何进行行列转换
4+
2.如何生成唯一序列号
5+
3.如何删除重复数据
6+
7+
********************************************************************************
8+
需要进行行转列的场景:报表统计、汇总显示
9+
10+
********************************************************************************
11+
行转列:
12+
利用自身连接来实现:
13+
SELECT *
14+
FROM (
15+
SELECT SUM(KILLS) AS 'A'
16+
FROM A INNER JOIN B ON A.NAME=B.USER_NAME
17+
WHERE A.NAME='A') AS A CROSS JOIN(
18+
SELECT SUM(KILLS) AS 'B'
19+
FROM A INNER JOIN B ON A.NAME=B.USER_NAME
20+
WHERE A.NAME='B') AS B CROSS JOIN(
21+
SELECT SUM(KILLS) AS 'C'
22+
FROM A INNER JOIN B ON A.NAME=B.USER_NAME
23+
WHERE A.NAME='C')AS C;
24+
25+
比如成绩
26+
1、分别查询出不同同学的成绩,并将字段名改为同学的名字
27+
2、通过交叉连接,将不同的语句连接起来
28+
29+
缺点:是将原来查询的结果每一行单独查询出来,再进行拼接。
30+
因此每增加一个同学就增加一个SELECT语句。并且是通过交叉连接,要保证每个查询的结果只能是一个,不然没办法通过交叉连接实现转换。
31+
32+
33+
34+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /