tam*_*ale 4 mysql sql select count
我有以下SQL查询:
SELECT
COUNT(CASE WHEN u.account_new = 1 THEN u.user_id END) AS new_user,
COUNT(u.user_id) AS all_users,
c.country_name AS country
FROM users u, countries c
WHERE u.country_id = c.country_id
GROUP BY u.country
Run Code Online (Sandbox Code Playgroud)
这显示按国家/地区分组的新用户数和总用户数.我想排除新用户数为零的行,但我不确定如何在上面的SQL中执行此操作.目前我正在用PHP跳过它们,但认为可能有更好的方法来编写查询.
欢迎任何建议.
使用此:(注意HAVING子句)
SELECT
COUNT(CASE WHEN u.account_new = 1 THEN u.user_id END) AS new_user,
COUNT(u.user_id) AS all_users,
c.country_name AS country
FROM users u, countries c
WHERE u.country_id = c.country_id
GROUP BY u.country
HAVING COUNT(CASE WHEN u.account_new = 1 THEN u.user_id END) > 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4699 次 |
| 最近记录: |