行列轉換包含如下幾種形式:行轉列、列轉行、多列轉換成字串、多行轉換成字串、字串轉換成多列、字串轉換成多行
create插入測試資料,如下:table
student(
id number
, name
varchar2(20
), course
varchar2(20
), score
number
)
結果集如下:
select id,name,sum(decode(course,'結果集如下:chinese
',score,null
)) "chinese",
sum(decode(course,'
math
',score,null
)) "math",
sum(decode(course,'
english
',score,null
)) "english"
from
student
group
by id,name
select id,name,sum(case結果集如下:when course=
'chinese
'then score end
) "chinese",
sum(case
when course=
'math
'then score end
) "math",
sum(case
when course=
'english
'then score end
) "english"
from
student
group
by id,name
使用上面的查詢結果:
create得到表及記錄如下:table scores as
select id,name,sum(case
when course=
'chinese
'then score end
) "chinese",
sum(case
when course=
'math
'then score end
) "math",
sum(case
when course=
'english
'then score end
) "english"
from
student
group
byid,name
order
by i
結果集如下:
Oracle 行列轉置
兩種簡單的行列轉置 1 固定列數的行列轉換 如student subject grade student1 語文 80 student1 數學 70 student1 英語 60 student2 語文 90 student2 數學 80 student2 英語 100 轉換為 語文 數學 英語 s...
Oracle 行列轉置
兩種簡單的行列轉置 1 固定列數的行列轉換 如student subject grade student1 語文 80 student1 數學 70 student1 英語 60 student2 語文 90 student2 數學 80 student2 英語 100 轉換為 語文 數學 英語 s...
SQL 行列轉置
我學會了第二種方法 sql2005中的方法 create table tb id int,value varchar 10 insert into tb values 1,aa insert into tb values 1,bb insert into tb values 2,aaa insert...