我很长时间以来一直在努力解决这个问题,不知道如何解决它。我很难描述,所以请耐心等待。有两个表:
表“用户”
UserId PK
Gender
表格“表格”
FormId PK
UserId1 FK
UserId2 FK
Type
表单始终与两个用户相关,但并非所有用户都有相关表单。现在我想只计算那些具有相关表格的用户的指定性别。
所以结果,我想拥有某物。像这样:
# | Gender | GenderCount
1 | male | 43
2 | female | 12
3 | trans | 2
我尝试了以下 SQL 脚本,但结果并不明显(所有 GenderCount 的总和大于实际用户数)
SELECT u.Gender AS 'Gender', COUNT(u.Gender) AS 'GenderCount'
FROM Users u, Forms f
WHERE ((f.UserId1 = u.UserId)
OR (f.UserId2 = u.UserId))
AND (Type = 'Foo')
GROUP BY Gender
ORDER BY GenderCount
DESC
有什么技巧可以解决这个问题吗?