create table studentscore2 (
[username] nvarchar(50),
[語文] float,
[數學] float,
[英語] float,
[物理] float
)insert into studentscore2(username, [語文], [數學], [英語], [物理])
values
('helen', 100, 90, 85, 80),
('jack', 75, 90, 85, 100)
select * from studentscore2
-----傳統列轉行方法 (union all與group by)
select username, '語文' as course,
max([語文]) as score
from studentscore2
group by username
union all
select username, '數學' as course,
max([數學]) as score
from studentscore2
group by username
union all
select username, '英語' as course,
max([英語]) as score
from studentscore2
group by username
union all
select username, '物理' as course,
max([物理]) as score
from studentscore2
group by username
----使用unpivot實現列轉行
select username, score, course
from studentscore2
unpivot
(score for course in (語文, 數學, 英語, 物理)
) t--也可以使用 *
select *
from studentscore2
unpivot
(score for course in (語文, 數學, 英語, 物理)
) t
SQL 列轉行的實現
列轉行,逗號拼接指定列的值 sql server中寫法 select stuff select field1 from tablea for xml path 1,1,oracle中寫法 方法一 wmsys.wm concat select wmsys.wm concat field1 from t...
python 列轉行 SQL 行轉列,列轉行
sql 行轉列,列轉行 行列轉換在做報表分析時還是經常會遇到的,今天就說一下如何實現行列轉換吧。行列轉換就是如下圖所示兩種展示形式的互相轉換 行轉列假如我們有下表 select from student pivot sum score for subject in 語文,數學,英語 通過上面 sql...
sql中 列轉行
列轉行,主要是通過union all max來實現。假如有下面這麼乙個表 createtableprogrectdetail progrectname nvarchar 20 工程名稱 overseasupplyint,海外 商供給數量 nativesupply int,國內 商供給數量 south...