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

如何用COUNT(DISTINCT var)按分组统计唯一值数量?

T-SQL按分组统计唯一值数量的实现方法

你给出的代码在T-SQL中完全可用,能实现按分组统计唯一值数量的需求,只需补充FROM子句指定数据源即可。完整语句如下:

SELECT col1 AS letters, COUNT(DISTINCT col2) AS numbers
FROM your_table -- 替换为你的实际表名
GROUP BY col1;

将其应用到你的测试数据:

col1col2
a5
a5
a6
b1
b2
b6

执行后会得到你预期的结果:

lettersnumbers
a2
b3

如果遇到特殊场景(比如复杂嵌套查询、多字段组合去重等)导致COUNT(DISTINCT)无法适配,也可以通过子查询先去重再统计,代码示例:

SELECT col1 AS letters, COUNT(*) AS numbers
FROM (
    -- 先对每组的col2去重
    SELECT DISTINCT col1, col2
    FROM your_table
) AS distinct_subquery
GROUP BY col1;

这段代码先通过子查询提取每个col1分组下的唯一col2值,再统计分组内的记录数,最终结果和直接使用COUNT(DISTINCT)一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:35:18