2017-01-19 4 views
1

メッセージが入ったmysqlテーブルがあります。各メッセージは、システム内の現在のステータスに関するステータスを持っています。オープンメッセージとそれ以外のものを比較したチャートを生成したい。私は次のようになりますJSONレスポンスを作成しようとしています:テーブルの値をグループ化し、他のものを追加します。

Roofing: [ 
    open: 12, 
    others: 24 
], 
Building: [ 
    open: 4, 
    others: 32 
] 

これは、MySQLデータベースが送信され

+---+------------+---------+ 
|ID | Industry | Status | 
+---+------------+---------+ 
| 1 | Building | Sent | 
| 2 | Building | Review | 
| 3 | Building | Open | 
| 4 | Roofing | Sent | 
| 5 | Roofing | Review | 
| 6 | Roofing | Open | 
+---+------------+---------+ 

をどのように見えるかであり、他の下

をすべての秋を確認し、私はへの道を必要としますopenや他のすべての値を数え、JSONでレイアウトします。

ご協力いただきありがとうございます。

答えて

0

アンCOUNTの見過ごされがちな特徴は、それが実際にのみ

SELECT industry, 
    COUNT(CASE WHEN Status ='Open' THEN 1 ELSE NULL END) as open_count, 
    COUNT(CASE WHEN Status !='Open' THEN 1 ELSE NULL END) as other_count 

    FROM Table1 GROUP BY industry 
+0

ちょうど 'おそらくRIGHある – Ohgodwhy

+0

IFNULL(ステータス、null)を'使用する方が簡単ではないでしょうNONヌル値をカウントしていることです!私はIFNULLが他のRDBMSのいくつかに私が使用しているので、事例を使用するのが習慣になっています – e4c5

+0

オラクルのためにあなたは 'NVL'を使用できます:) – Ohgodwhy

関連する問題