You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GROUP BY 是否适配统计用户角色数场景?如何编写对应原生SQL?

问题解答

GROUP BY适用性说明

这个场景可以使用GROUP BY,但针对仅统计单个指定用户角色总数的需求,GROUP BY不是必须方案:

  • 仅查询单用户角色数:直接用WHERE过滤+COUNT统计即可,写法更简洁
  • 需批量统计多个用户各自的角色数:GROUP BY是最优适配方案

原生SQL实现示例

请将下述SQL中的[user_role_table]替换为你实际的表名。

方案1:单用户统计(无GROUP BY,推荐单用户场景使用)

-- 如果表已设置(user_id, role_id)联合唯一约束,可去掉DISTINCT
SELECT COUNT(DISTINCT role_id) AS role_count
FROM [user_role_table]
WHERE user_id = 1;

执行后返回的role_count字段就是对应用户的角色总数。

方案2:GROUP BY实现(支持批量统计)

单用户查询版本

SELECT user_id, COUNT(DISTINCT role_id) AS role_count
FROM [user_role_table]
WHERE user_id = 1
GROUP BY user_id;

全量用户批量统计版本

SELECT user_id, COUNT(DISTINCT role_id) AS role_count
FROM [user_role_table]
GROUP BY user_id;

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:54:03