見た目は良い回答がない投票済みの質問のみが見つかりました。列内に発生した割合
SQL Serverでオカレンスの割合を調べようとしています。私がやっていることの簡略化されたバージョン:
ID NAME FAVORITE_COLOR
------------------------------------
1 Jim Blue
2 Tom Green
3 Rob Yellow
4 Kev Blue
5 Kim Green
6 Bev Blue
それぞれの数を数えることは簡単です。
SELECT
favorite_color, COUNT(favorite_color) AS totals
FROM
color_prefs
GROUP BY
favorite_color
これは、青(など)のような3人を教えてくれます。私がどのようにするかわからないのは、パーセントを得ることです。私は、青のような人々の50%を知りたい。私は以下しようとしたが、SQLは完全にそれを嫌っ:私は私のために、このPHPのフィギュアを作ることができ、明らかに
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
が、私は方法があるように持っている:
SELECT
favorite_color,
COUNT(favorite_color)/SUM(COUNT(favorite_color)) AS color_percent
FROM
color_prefs
GROUP BY
favorite_color
私はエラーを取得しますサブクエリなしでSQLでこれを行うには、そうですか?
サブクエリを使用しないクエリが必要ですか? – cableload
私は気にしませんが、理想的にはありません。私は2つのテーブルに加わり、日付範囲に限定しているので、実際のクエリはもう少し複雑です...しかし、それは私にとって非常に特殊です。 – jonlink