建表
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...