如何查询两张表的唯一用户数

fusoft 2010-02-01 11:43:53
两个表都有一个用户ID的字段,现在要合并查询两张表的唯一用户数,应该怎么写?
...全文
69 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fusoft 2010-02-01
  • 打赏
  • 举报
回复
我还是赶紧结贴吧。。
SQL77 2010-02-01
  • 打赏
  • 举报
回复

SELECT COUNT(*)
FROM
(
select id from ta
union
select id from tb)
AS T

UNION 会自动去重
SQL77 2010-02-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fusoft 的回复:]
已经验证了1,2,3,5楼的方法得到的结果都是错的

求两张表的唯一用户数,


表A

aaa
bbb
ccc

表B
aaa
ccc
ddd

两张表的唯一用户数应该为4人
[/Quote]

汗,

SELECT COUNT(*) FROM (
select id from ta
union select id from tb)
--小F-- 2010-02-01
  • 打赏
  • 举报
回复
select
count(1)
from
(
select id from ta
union all
select id from tb
)t
group by id
fusoft 2010-02-01
  • 打赏
  • 举报
回复
已经验证了1,2,3,5楼的方法得到的结果都是错的

求两张表的唯一用户数,


表A

aaa
bbb
ccc

表B
aaa
ccc
ddd

两张表的唯一用户数应该为4人
fusoft 2010-02-01
  • 打赏
  • 举报
回复
这么多方法。。我应该用哪一种??
黄_瓜 2010-02-01
  • 打赏
  • 举报
回复
3、4、5楼同一秒 我的神呀!
饮水需思源 2010-02-01
  • 打赏
  • 举报
回复
select distinct id from tmp
(select id from a
union all
select id from b) as tmp
黄_瓜 2010-02-01
  • 打赏
  • 举报
回复
(select * from ta
except
select * from tb
)
union all
(
select * from tb
except
select * from ta
)
--小F-- 2010-02-01
  • 打赏
  • 举报
回复
select
id
from
(
select id from ta
union all
select id from tb
)t
group by id having count(1)=1
SQL77 2010-02-01
  • 打赏
  • 举报
回复
SELECT 
(
SELECT COUNT(DISTINCT ID) FROM TA T
)
+
(
SELECT COUNT(DISTINCT ID) FROM TB T
)
?
SQL77 2010-02-01
  • 打赏
  • 举报
回复
SELECT 
(
SELECT COUNT(*) FROM TA T WHERE NOT EXISTS(SELECT 1 FROM TB WHERE ID=T.ID)
)
+
(
SELECT COUNT(*) FROM TB T WHERE NOT EXISTS(SELECT 1 FROM TA WHERE ID=T.ID)
)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧