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

SQL如何按用户关联code分组统计仅drug、仅alc及两者均有的人数

SQL多标签用户分类统计实现方案

前提说明

现有包含name、code两个字段的业务表,下文SQL中请将你的表名替换为实际的表名称。

实现SQL

SELECT 
    user_type AS code,
    COUNT(*) AS `Count`
FROM (
    -- 内层按用户分组,标记每个用户所属的类型
    SELECT 
        name,
        CASE 
            -- 同时关联drug和alc两类code
            WHEN COUNT(DISTINCT code) = 2 THEN 'drug & alc'
            -- 仅关联drug
            WHEN SUM(CASE WHEN code = 'drug' THEN 1 ELSE 0 END) > 0 THEN 'drug'
            -- 仅关联alc
            ELSE 'alc' 
        END AS user_type
    FROM 你的表名
    WHERE code <> 'other' -- 过滤code为other的记录
    GROUP BY name
) t
-- 外层按用户类型分组统计数量
GROUP BY user_type;

结果验证

针对你给出的示例数据,运行上述SQL后输出结果和预期完全一致:

codeCount
drug3
alc1
drug & alc1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:36:01