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

SQL查询:统计关联多个特征的用户ID数量

嘿,这事儿好办!我来帮你实现这个统计需求,顺便把思路和代码都讲清楚。

解决方案

核心思路

要统计关联特征数量大于1的用户总数,我们可以分两步操作:

  • 先按userid分组,计算每个用户关联的feature数量
  • 再筛选出特征数量超过1的用户,最后统计这些用户的个数

完整代码示例

首先是你提供的示例表定义和测试数据:

declare @tbl table (userid int, feature nvarchar(10))
insert into @tbl(userid, feature) select 1, 'abc'
insert into @tbl(userid, feature) select 1, 'xyz'
insert into @tbl(userid, feature) select 2, 'abc'
insert into @tbl(userid, feature) select 3, 'abc'
insert into @tbl(userid, feature) select 3, 'xyz'
insert into @tbl(userid, feature) select 3, 'pqr'

然后是实现统计的查询语句:

SELECT COUNT(userid) AS user_count
FROM (
    -- 内层子查询:筛选出特征数大于1的用户
    SELECT userid
    FROM @tbl
    GROUP BY userid
    HAVING COUNT(feature) > 1
) AS qualified_users

代码解释

  • 内层的子查询通过GROUP BY userid对用户分组,用COUNT(feature)统计每个用户的特征数量,再通过HAVING子句过滤掉特征数≤1的用户,只留下符合要求的userid
  • 外层查询直接统计这些符合条件的userid的数量,得到的结果就是你想要的2(对应用户1和用户3)

如果你担心有重复的userid(不过分组后每个userid只会出现一次),也可以用COUNT(DISTINCT userid),结果是完全一致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 17:08:12