行轉列學習二

2021-05-22 16:04:31 字數 872 閱讀 3170

建表

create table [dbo].[student]

([sid] [varchar](50) collate chinese_prc_ci_as not null,

[course] [varchar](50) collate chinese_prc_ci_as not null,

[resultsource] [decimal](18, 2) not null

) 插入資料

insert into student values('2005001','語文','80.0')

insert into student values('2005001','數學','90.0')

insert into student values('2005001','英語','80.0')

insert into student values('2005002','語文','80.0')

insert into student values('2005002','數學','50.0')

insert into student values('2005002','英語','80.0')

開始查詢

select sid,語文=isnull(sum(case course when '語文' then resultsource end),0),

數學=isnull(sum(case course when '數學' then resultsource end),0),

英語=isnull(sum(case course when '英語' then resultsource end),0)

from student

group by sid

order by sid

mysql行轉列 subs mysql 行轉列

存在表score,記錄學生的考試成績,如下圖所示 現要求以 學生姓名,語文,數學,英語 這種格式顯示學生成績,如下圖所示 具體步驟如下 1 首先,使用case when函式輸出單個課程的成績 case when course 語文 then score end as 語文 case when cou...

mysql 動態行轉列 MySQL行轉列

比如乙個單子,多個收據單用逗號隔開,怎麼把這乙個單子所有收據單獨展示出來,行轉成列呢?方法一 這裡需要用到迴圈,首先建立乙個1 10的序列 select rownum rownum 1 as seq from select rownum 0 r,bills limit 0,10 其次依次運用 sub...

oracle 行轉列,多行轉列

問題描述 應公司要求,設計功能,乙個id,對應不同的值,展示的時候不同的值拼接展示,如何實現 解決思路 1 拼接字串,想到了 oracle function 這樣肯定能實現,但是比較麻煩 2 oracle 自帶的乙個函式 wm concat 函式 非常給力 上 測試表1 create table c...