お世話になっております。
現在、クエリの書き方で悩んでおります。色々とネットで調べてみたのですが、いまいち自信の思っている解に辿り着かずお知恵をお貸しいただければと思っております。
やりたいこと
現在PHPである数値を集計するアプリを作成しているのですが、上手いクエリの書き方に悩んでおります。
まず以下の様なデータがあるとします。(こちらはサンプルデータです。)
testtable1
col1(varchar),col2(int(1)),col3(varchar)
Tanaka,1,AAA
Tanaka,3,AAA
Tanaka,4,AAA
Suzuki,1,AAA
Tanaka,5,BBB
上記のようなテーブル/データがあった場合に、次の様な結果を出したいと思っています。
「col1の"Tanaka"のみでcol2の結果を"0がn個、1がn個...."」という様に、0から9までの数字がそれぞれ何個あるかを取り出したいと思っています。しかし私が現在躓いているのは"Tanakaには4がない、Suzukiには6/7がない"というように、Tanakaで絞り且つ、col2にない数字も何らかしらの形(0でもNullでもよい)で結果として取り出したいのです。
私が実行したクエリは以下です。
SELECT COUNT(*) AS レコード数, col2
FROM testtable1
WHERE col1 = "Tanaka"
GROUP BY col2;
しかし、上記のクエリだと"col2に存在する番号のみを集計"してしまい、アプリ側で扱うのが複雑になってしまうため、できればクエリで対応したいと思っています。
結果として以下の様に取得したいと思っています。(数字は適当です)
レコード数,col2
0,1
1,10
2,1
3,0
4,0
5,0
6,0
7,0
8,1
9,1
上記のような結果を得られるクエリの書き方がございましたらご教示をお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/07 13:50