2012-04-23 24 views
1

私はこのようなクエリの結果があります。複数の行を1つのフィールドにGROUPED結果Mysql

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 

他のアイデア?

答えて

1
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 
+0

驚くばかり!とても近い!しかし、それは1列に必要です。 –

+0

@KevinRave:GROUP BYを削除します。私はそれを間違えてぶら下げてしまいました。 –

+0

男!あなたはちょうど素晴らしいです!ありがとう! :-) –

関連する問題