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

同一表分组统计时拆分AD账户计数的SQL查询问题求助

解决方案

可以通过CASE语句动态生成分组的描述字段,将符合条件的AD账户单独归类后再做分组统计,具体SQL如下:

SELECT 
    COUNT(*) AS Total,
    CASE
        WHEN description = 'AD' AND SAMAccountName LIKE 'DOM%' THEN 'AD-DOM'
        ELSE description
    END AS Description
FROM ADSAccount
GROUP BY 
    CASE
        WHEN description = 'AD' AND SAMAccountName LIKE 'DOM%' THEN 'AD-DOM'
        ELSE description
    END
ORDER BY Description;

逻辑说明:

  • 用CASE语句对AD账户做二次分类:满足SAMAccountName LIKE 'DOM%'的标记为AD-DOM,其余AD账户和其他类型账户保留原有描述
  • 按处理后的描述字段分组,统计每组的账户数量
  • 最后通过ORDER BY让结果和你期望的输出顺序一致

如果你的数据库支持GROUP BY直接引用字段别名(比如MySQL),还可以简化写法:

SELECT 
    COUNT(*) AS Total,
    CASE
        WHEN description = 'AD' AND SAMAccountName LIKE 'DOM%' THEN 'AD-DOM'
        ELSE description
    END AS Description
FROM ADSAccount
GROUP BY Description
ORDER BY Description;

原语句报错原因:

你尝试的左连接子查询没有指定连接条件,且子查询仅返回单一统计值,这种写法既存在语法错误,逻辑上也不符合分组统计的需求,无法得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 23:20:37