2012-02-26 23 views
3

こんにちは私はCOUNTの結果を水平方向に表示しようとしていますが、成功しません。これを行うには簡単な道がありますか?水平方向にMYSQL COUNTを表示する方法

私は(デモの目的のために、Excelで作成された)このテーブルを持っている

enter image description here

今、私はこのような結果を表示したいです。

enter image description here

任意のアドバイスは非常に理解されるであろう。

答えて

5
SELECT store_name, 
     SUM(CASE WHEN status = 'hold' THEN 1 ELSE 0 END) AS hold_count, 
     SUM(CASE WHEN status = 'ship' THEN 1 ELSE 0 END) AS ship_count, 
     SUM(CASE WHEN status = 'return' THEN 1 ELSE 0 END) AS return_count 
FROM table 
group by store_name 
+0

はい、有名なCASEメソッドです。 +1: – Bojangles

+0

ありがとうございました。私は数を調べ続けていますが、SUMが必要であることが判明しました。完璧に動作します! – genpet

+0

@genpet: 'COUNT()'も機能します。 (例、1行目)を次のように置き換えてください。 'COUNT(状況= '保留' THEN 1 END)AS hold_count' –

2

合計累計でif句を使用します。

select store_name, 
    sum(if(status='hold', 1, 0)) as 'hold', 
    sum(if(status='ship', 1, 0)) as 'ship', 
    sum(if(status='return', 1, 0)) as 'return' 
from mytable 
group by store_name; 
+0

うまく動作します。ありがとう! – genpet

関連する問題