create
table
`test_tb_grade`
(`id`
int(10)
notnull
auto_increment
,`user_name`
varchar(20
)default
null
,`course`
varchar(20
)default
null
,`score`
float
default
'0',
primary
key(
`id`))
engine
=innodb
auto_increment=1
default
charset
=utf8;
insert
into test_tb_grade(user_name, course, score)
values
("張三"
,"數學",34
),("張三"
,"語文",58
),("張三"
,"英語",58
),("李四"
,"數學",45
),("李四"
,"語文",87
),("李四"
,"英語",45
),("王五"
,"數學",76
),("王五"
,"語文",34
),("王五"
,"英語",89
);--行轉列sql:
select user_name ,
max(
case course when
'數學'
then score else
0end
) 數學,
max(
case course when
'語文'
then score else
0end
) 語文,
max(
case course when
'英語'
then score else
0end
) 英語
from test_tb_grade
group
by user_name;
mysql 查詢行轉列 SQL語句實現行轉列查詢
表sales 查詢結果如下 1 建表 create table dbo sales id int identity 1,1 not null,year int null,jidu int null,jine int null,primary key clustered id asc with pad...
用sql語句將行轉列
表結構和內容 insert into test val1,val2 values name wd insert into test val1,val2 values email jon wd 163.com insert into test val1,val2 values age 30 sql語句...
mysql 動態行轉列 MySQL行轉列
比如乙個單子,多個收據單用逗號隔開,怎麼把這乙個單子所有收據單獨展示出來,行轉成列呢?方法一 這裡需要用到迴圈,首先建立乙個1 10的序列 select rownum rownum 1 as seq from select rownum 0 r,bills limit 0,10 其次依次運用 sub...