【发布时间】:2019-09-16 23:24:10
【问题描述】:
在对 UserID 执行 DISTINCT 之后,我试图计算有多少用户是女性和多少男性
SELECT
COUNT(IF("Gender" = 'female', 1, NULL)) as Ufemale,
COUNT(IF("Gender" = 'male', 1, NULL)) as Umale
FROM (SELECT DISTINCT UserID FROM user_stats where Year='2019' and Account='P') as UID
如果我执行
SELECT DISTINCT UserID FROM user_stats where Year='2019' and Account='P'
它返回唯一的用户 ID。但是,如果我将它与计数性别部分结合起来,它会返回零。
这是值的样子
UserID | Gender
-----------------------------
2018359084885123 | male
1925823664195671 | female
2033134076795519 |
2122445674469149 | female
2315129265210413 | female
2018359084885123 | male
2122445674469149 | female
目的是展示
Ufemale | Umale
-------------------
3 | 1
【问题讨论】:
-
你可以把
SELECT DISTINCT UserID FROM user_stats where Year='2019' and Account='P'改成SELECT DISTINCT UserID, gender FROM user_stats where Year='2019' and Account='P' -
“我正在尝试计算女性用户数和男性用户数” 那么基于当前数据的预期结果将是 4 和 2?此外,您的示例数据缺少年份和帐户列。
标签: mysql count distinct-values