これは遅くなるか、またはMySQLのnoob(おそらくどちらも正直である)のためにこの方法をどうにかするのはわかりません。パーセント平均を取得する
私は「を備えるpoll_votes」と呼ばれるテーブルがあります。その回答の合計数のうちの割合を計算し、
ID, poll_id, answer_id, ip, time_posted
私が行う必要がある何が、特定のpoll_id内の各ユニークanswer_idのためでありますanswer_idはをカウントします。私はここに、私は何をする必要があるか言葉遣いで本当に良いのクエリは、(単一の行)を返すべきかされないよ:
total -> total number of answers for this poll_id
[0] -> the percentage of 'total' that this makes up eg. 32 (%)
[1] -> the percentage of 'total' that this makes up eg. 16 (%)
[2] -> the percentage of 'total' that this makes up eg. 52 (%)
もちろん、一緒に追加されたすべてのパーセンテージは、百に等しくなければなりません。また、返されたパーセンテージごとのフィールド名は、必ずしもどの順序である必要はありません。
私は、クエリーがanswer_idの総数と投票数を返したとしても、PHPで簡単に計算できます。
誰でも私に指針を与えることができますか?
編集:これは私がこれまで持っているものですが、それは動作しません:
SELECT (SELECT COUNT(*) FROM poll_votes) AS total, answer_id, COUNT(answer_id)/total * 100 AS percentage GROUP BY answer_id
実際には2番目の選択を使用する必要はありません....ちょうど合計を取得する最初の選択から値を追加します。 – Amber