これはおそらく非常に単純なことです....しかし、今のところ、1つのステートメントでそれを行う方法を考えることができません。
count(id) WHERE status = APP を選択し、すべてのカウントについて繰り返すことができることを知っています。しかし、私はそれを 1 つのクエリで完了したいと考えています。都市でグループ化し、ステータスと合計でグループ化しますか?
表は以下の通りです....
City | Status |
City 1 APP
City 1 NH
City 1 APP
City 1 NEW
City 2 NEW
City 2 APP
City 2 APP
City 2 NH
次の配列を返したい。
{[cityname]=>City1,[Total]=>4,[APP]=>1,[NH]=>1,[NEW]=>2},
{[cityname]=>City2,[Total]=>4,[APP]=>2,[NH]=>1,[NEW]=>1}
私の現在のクエリは...
SELECT COUNT(id) as total, city WHERE status = 'APP' GROUP BY city
SELECT COUNT(id) as total, city WHERE status = 'NH' GROUP BY city
SELECT COUNT(id) as total, city WHERE status = 'NEW' GROUP BY city
これが非常に単純であることはわかっていますが、しばらく経ち、これらを 1 つのステートメントに正確に組み合わせる方法を忘れてしまいました。