2
同じテーブル内の異なるwhere句の値のカウントを取得しようとしています。 1は、そのMySQL select同じテーブルの異なるデータを集計するベスト・アプローチ
SELECT * FROM
(SELECT COUNT(id) FROM table WHERE post_id = 123 AND action_type IN(1,3,7,9,10)) as 'a',
(SELECT COUNT(id) FROM table WHERE post_id = 123 AND action_type IN(2,7,8,18)) as 'b'
OR
SELECT COUNT(id) FROM table WHERE post_id = 123 AND action_type IN(1,3,7,9,10)
SELECT COUNT(id) FROM table WHERE post_id = 123 AND action_type IN(2,7,8,18)
注するための最良のアプローチです:表の値
なぜ私は* WHERE id = 123'という条件で数えているのですか?あなたのidフィールドが一意である場合、カウント結果たった1つでも0でもかまいません。それが一意でなければ、少なくとも混乱して命名されます。 –
@FranzGleichmannは別の列です。私は質問 – user3516704
ああを編集します。今では外来キーを使って、それはもっと意味があります、明確化のためにありがとうございます。 –