首页 > 解决方案 > MySQL根据字段状态为每个字段输出多列

问题描述

我有一个 MySQL(version:5.7) 表,其中包含以下字段:

 account: varchar
 work_status: varchar
 work_details: varchar

有这样的数据:

 account       |   work_status   |   work_details |  
 xxx@gmail.com        work          coding
 xxx@gmail.com       onBusiness    conclude a contract 

我想实现类似于以下内容:

 account       |   work_status_work   |  work_status_onBusiness |  
 xxx@gmail.com       22                   8

标签: mysql

解决方案


您可以尝试使用条件聚合 -

select account, 
       count(case when work_status='work' then 1 end) as work_status_work,
       count(case when work_status='onBusiness' then 1 end) as work_status_onBusiness
from tablename
group by account

推荐阅读