select count(distinct(a.rect_id)) zcount, a.job_dept,
date_format(submit_date, '%y-%m') zsubmit_date
from
表名 a
where
a.statu = 3
and a.rstatu = 2
and a.job_dept in ('19', '20', '21')
group by
a.job_dept,
date_format(submit_date, '%y-%m')
其中關鍵在於date_format(submit_date, '%y-%m')對時間年月進行了分組排序
select
zsubmit_date,
max(case when job_dept = '19' then zcount else 0 end ) 19zcount,
max(case when job_dept = '20' then zcount else 0 end ) 20zcount,
max(case when job_dept = '21' then zcount else 0 end ) 21zcount
from
(select
count(distinct(a.rect_id)) zcount, a.job_dept,
date_format(submit_date, '%y-%m') zsubmit_date
from
表名 a
where
a.statu = 3
and a.rstatu = 2
and a.job_dept in ('19', '20', '21')
group by
a.job_dept,
date_format(submit_date, '%y-%m')
) qgroup by
zsubmit_date
以上是mysql的列轉行。其中關鍵點是case when的用法,用其來完成列轉行的操作。用法等同於if else 分組迴圈查詢實現列轉行
開發工具與關鍵技術 visualstudio 2015 mvc在做專案的過程中遇到過這樣乙個問題,我需要把資料庫一張表的多條費用資料查出來,並且讓他在一行顯示,多條費用是指不同的費用,而我這個資料庫表只有乙個欄位來儲存這些費用,這個字段儲存的是外來鍵,多種費用是固定在另一張表裡,新增的時候只需要把外...
Mysql 列轉行 例項
箱表 create table yoshop shang activity box id int 11 not null auto increment comment 編號 activity id int 11 not null comment 活動id number int 11 not null...
Mysql 採用列轉行
欄位的拆分 使用函式substring index str,delim,count str 拆分物件 delim 拆分標識 substring index 搜尋時執行區分大小寫的匹配 delim count 拆分方式 如果 count為正,則返回最終分隔符左側的所有內容 從左側開始計算 如果coun...