簡體   English   中英

如何旋轉和計數這樣的MySQL表?

[英]How to pivot and count a MySQL table like this?

我有下表。 我該如何調整它並計算每個問題的答復? 第二張表是我想要的結果。

表從-到

嘗試此操作,您應該將@table替換為表名。

select 
    'Q1' as Question,
    sum(if(Q1='yes', num, 0)) as 'yes',
    sum(if(Q1='no', num, 0)) as 'no',
    sum(if(Q1='could be', num, 0)) as 'could be'
from (select Q1, count(Q1) as num from @table group by Q1) Q1
union
select 
    'Q2' as Question,
    sum(if(Q2='yes', num, 0)) as 'yes',
    sum(if(Q2='no', num, 0)) as 'no',
    sum(if(Q2='could be', num, 0)) as 'could be'
from (select Q2, count(Q2) as num from @table group by Q2) Q2
union
select 
    'Q3' as Question,
    sum(if(Q3='yes', num, 0)) as 'yes',
    sum(if(Q3='no', num, 0)) as 'no',
    sum(if(Q3='could be', num, 0)) as 'could be'
from (select Q3, count(Q3) as num from @table group by Q3) Q3
union
select 
    'Q4' as Question,
    sum(if(Q4='yes', num, 0)) as 'yes',
    sum(if(Q4='no', num, 0)) as 'no',
    sum(if(Q4='could be', num, 0)) as 'could be'
from (select Q4, count(Q4) as num from @table group by Q4) Q4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM