調査に回答したユーザーの数を知る必要があります。しかし、彼らは1回以上応答することができます(私の場合、最大2回)。
したがって、2つのテーブルがあります:fs_users
とfs_surveys
。
fs_users:
ID | Name
1 David
2 John
fs_surveys:
ID | ID_User | Selected_Answer
1 1 A
2 1 C
3 2 A
アンケートに回答したユーザーの数を視覚的に数えると、数えることができます2
(DavidとJohn)。質問することで、この人々が誰に反応したかを知ることができます。好き:
SELECT
fs_users.ID,
fs_users.Name
FROM fs_users
INNER JOIN fs_surveys
ON fs_surveys.ID_User = fs_users.ID
GROUP BY
fs_users.ID
基本的に、fs_users
上記と同じデータが返されます。だから、ここまでは元気です。問題は、誰のユーザーではなく、何人のユーザーが必要かというCOUNT()
ことです。
を次のようなものに変更した場合SELECT
:
SELECT
COUNT(*)
...
私はこれを受け取ります:
result:
COUNT(*) | INSTEAD_OF
3 2
では、どうすればこの問題を解決できますか?さよなら!