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

如何统计两张表中name列的distinct值总数?

统计两张表name列去重后的总数

可以通过合并两张表的name列后去重计数来实现,以下是几种常见数据库的实现方式:

MySQL / PostgreSQL 实现

SELECT COUNT(DISTINCT name)
FROM (
    SELECT name FROM TableA
    UNION
    SELECT name FROM TableB
) AS combined;

解释:UNION 会自动合并两个查询结果并去重,外层的 COUNT(DISTINCT) 统计最终的唯一值数量,匹配示例场景时会返回4。

SQL Server 实现

写法和上述一致,同样支持通过 UNION 去重后计数:

SELECT COUNT(DISTINCT name)
FROM (
    SELECT name FROM TableA
    UNION
    SELECT name FROM TableB
) AS combined;

注意事项

  • 避免使用 UNION ALL,它不会做去重处理,会导致重复值被计入总数
  • 若表数据量较大,建议给name列添加索引,提升查询效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:35:21