gpt4 book ai didi

sql - 从多个表中选择 COUNT(DISTINCT [name])

转载 作者:行者123 更新时间:2023-12-02 17:03:40 25 4
gpt4 key购买 nike

我可以执行以下 SQL Server 从一个表中的列中选择不同(或不重复的名称)的操作,如下所示:

SELECT COUNT(DISTINCT [Name]) FROM [MyTable]

但是,如果我有多个表(所有这些表都包含名为 [Name] 的名称字段),并且我需要知道两个或多个表中不重复名称的计数,该怎么办?

如果我运行这样的事情:

SELECT COUNT(DISTINCT [Name]) FROM [MyTable1], [MyTable2], [MyTable3]

我收到错误“列名‘Name’不明确”。

PS。所有三个表 [MyTable1]、[MyTable2]、[MyTable3] 都是先前选择的结果。

最佳答案

澄清后,使用:

  SELECT x.name, COUNT(x.[name])
FROM (SELECT [name]
FROM [MyTable]
UNION ALL
SELECT [name]
FROM [MyTable2]
UNION ALL
SELECT [name]
FROM [MyTable3]) x
GROUP BY x.name

如果我理解正确,请使用:

  SELECT x.name, COUNT(DISTINCT x.[name])
FROM (SELECT [name]
FROM [MyTable]
UNION ALL
SELECT [name]
FROM [MyTable2]
UNION ALL
SELECT [name]
FROM [MyTable3]) x
GROUP BY x.name

UNION 将删除重复项; UNION ALL 不会,而且速度更快。

关于sql - 从多个表中选择 COUNT(DISTINCT [name]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6712127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com