2017-08-31 16 views
-1

私はこのようなテーブルを持っています。グラフのSQLクエリ

| id | question_id | option_id | 
--------------------------------- 
| 1 |   1 |   1 | 
| 1 |   1 |   2 | 
| 1 |   1 |   3 | 
| 1 |   1 |   2 | 
| 1 |   1 |   2 | 
| 1 |   1 |   6 | 

どのように結果を次のようにクエリしますか?私が持っているもの現在

[ 
    {'1' => 1}, 
    {'2' => 3}, 
    {'3' => 1}, 
    {'4' => 0}, 
    {'5' => 0}, 
    {'6' => 1}, 
] 

1から6までのクエリをループすることである私は、可能な値(1〜6)については知らなくてもoption_idのすべての可能な値のためのカウントを照会するための方法はありますか?

Select sum(case when option_id = 1 then 1 else 0 end) as "1" FROM fcs_answer WHERE question_id = 4; 
+0

編集してください。その結果は何ですか? – delboy1978uk

+0

あなたはあなたが期待しているフォーマットであなたにデータを与えるために、なぜあなたはクエリーを望んでいますか? – SMA

+0

@ delboy1978uk結果はjsonのようなものになります – John

答えて

1

有効なクエリは次のようになります。

SELECT option_id, COUNT(*) FROM my_table GROUP BY option_id; 

他のすべてが

0

このクエリを試してみてくださいアプリケーションコードで処理することができます。役に立つと思います。

SELECT `option_id `,SUM(1) FROM table_name 
GROUP BY `option_id `