MYSQL中列转行的方法

初始表:temp_count

MYSQL中列转行的方法_第1张图片

目标表:machine_count

MYSQL中列转行的方法_第2张图片

利用max(case when then)

select temp_count.id,
 MAX(CASE temp_count.`故障部位` WHEN '动力' THEN temp_count.`故障次数` ELSE 0 END ) '动力',
 MAX(CASE temp_count.`故障部位` WHEN '液压系统' THEN temp_count.`故障次数` ELSE 0 END ) '液压系统',
 MAX(CASE temp_count.`故障部位` WHEN '电装品' THEN temp_count.`故障次数` ELSE 0 END ) '电装品'
 from temp_count
GROUP BY temp_count.id;

MYSQL中列转行的方法_第3张图片

 

 

 

 

 

 

你可能感兴趣的:(MYSQL中列转行的方法)