1

これが私のセットアップです

database = mine
table = mytable
field = hair
field = eyes
field = state

現在、髪と目のフィールドに「茶色」が含まれている人をカウントするクエリを実行できます。私は走っています:

SELECT count(*)
FROM mine.mytable
WHERE hair = 'brown' OR eyes = 'brown'

しかし、いずれかのフィールドで茶色の目または茶色の髪を示している州ごとにカウントが必要です。その方法を知っている唯一の方法は、AND 状態 = 'NY' をクエリの一部として配置することですが、それは、各状態のカウントを取得するために、組み合わせごとにクエリを 50 回実行する必要があることを意味します。クエリを 50 回実行せずに、各状態を示すカウントを取得するにはどうすればよいでしょうか?

4

2 に答える 2

2
SELECT count(*) state_count,IFNULL(state,'Total') state
FROM mine.mytable
WHERE hair = 'brown' OR eyes = 'brown'
GROUP BY state WITH ROLLUP;
于 2013-03-19T17:21:50.047 に答える