mysql - GROUPED 结果 Mysql 中的多行到一个字段

标签 mysql group-by

我有这样的查询结果。

    status      count
    -----------------
    OTHER       5
    ATTENDED    74

我想要这样的结果:

    OTHERS        ATTENDED
     5                74

请注意,这已经是一个分组结果。所以我在想,Group_Concat 可能行不通。

查询:

   SELECT CASE Rstat WHEN 1 THEN 'ATTENDED' 
                            WHEN 2 THEN 'TENTATIVE' 
                            WHEN 3 THEN 'REJECTED' 
                            WHEN 4 THEN 'OUTSTANDING' 
                            WHEN 6 THEN 'ACCEPTED' ELSE 'OTHER' END AS 'status',      
                            COUNT(Rstat) AS 'count' 
       FROM  `eStatus` 
       GROUP BY RSTAT

还有其他想法吗?

最佳答案

SELECT SUM(CASE WHEN Rstat = 1 THEN 1 ELSE 0 END) AS ATTENDED,
       SUM(CASE WHEN Rstat = 2 THEN 1 ELSE 0 END) AS TENTATIVE,
       SUM(CASE WHEN Rstat = 3 THEN 1 ELSE 0 END) AS REJECTED,
       SUM(CASE WHEN Rstat = 4 THEN 1 ELSE 0 END) AS OUTSTANDING,
       SUM(CASE WHEN Rstat = 6 THEN 1 ELSE 0 END) AS ACCEPTED,
       SUM(CASE WHEN Rstat NOT IN (1,2,3,4,6) THEN 1 ELSE 0 END) AS OTHER
    FROM eStatus

关于mysql - GROUPED 结果 Mysql 中的多行到一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288436/

相关文章:

python Pandas : Assign Last Value of DataFrame Group to All Entries of That Group

MySQL group by 同时选择聚合和一条特定记录

java - 更新 JPA 表上的 UniqueConstrains

mysql - centos7安装mysql出错(没有mysql-community-server包可用)

MySQL "INSERT INTO position"失败

带有选择计数和组的 MySql 查询

Mysql 关于 Group by 的查询问题请帮帮我..?

sql - 按 60 分钟滑动窗口分组

mysql - mysql查询日期间隔的替代方案

mysql - 如何将 ORDER BY 和 LIMIT 与 UPDATE 一起使用?