ステータス列のあるテーブルがあります。ステータスは1〜8の数字です。
クエリを使用できます
SELECT status, COUNT(id) AS total
FROM cart_orders
GROUP BY status;
次のような結果を得るには:
status | total
1 | 10
2 | 15
3 | 8
4 | 51
5 | 65
...
しかし、それは私がしなければならないデータが必要になるたびに意味します:
$status = array(1 => null, 2 => null, 3 => null, 4 => null,
5 => null, 6 => null, 7 => null, 8 => null);
foreach($rows as $row){
$status[$row['status']] = $row['total'];
}
これは、多くのコードではありませんが、そうする必要はありませんが、
私が欲しいのは、クエリを変更して、次のような単一の行になるようにすることです。
1 | 2 | 3 | 4 | 5
10 | 15 | 8 | 51 | 65 ...
だから私はただ行くことができます例えば$row['4']
これを行うために私が考えることができる唯一のことは、各列をサブクエリとして持つことです。これは、8つのサブクエリを持つよりもコードを使用する方がよいでしょう。もう1つのオプションは、テーブルを7回結合することですが、それも理想的ではないと思われますか?
他にどのように私はこれを行うことができますか?