从2个SQL表查询数据并统计

来源:百度知道 编辑:UC知道 时间:2024/06/24 07:24:06
有2个字段相同单内容不同的表
比如
表A
[Name] [Age]
A 16
B 18
C 20
D 16
E 18
F 20

表B
[Name] [Age]
G 16
H 18
I 20
J 17
K 20
L 19
比如查A表中每个Age各有几人
SELECT Age,COUNT(*) FROM A GROUP BY Age
那么
查A+B表中每个Age各有几人,该如何写?
(可以实现的方法应该有很多比如SELECT中套SELECT总能查出来的
希望高手可以指导如何将2个表(相同字段)看成一个表来进行操作
并要有较好的性能.)

SELECT Age,COUNT(*) FROM (select name,age from a union select name,age from b)c GROUP BY Age
尝试下

SELECT COUNT(Name) AS 人数, Age
FROM (SELECT dbo.A.Name, dbo.A.Age
FROM dbo.A
UNION
SELECT dbo.B.Name, dbo.B.Age
FROM dbo.B) T
GROUP BY Age

楼上的可能会报语法错误~

看成一个表:
select * from (select * from TA union select * from TB) t

查A+B表中每个Age各有几人:
select Age,COUNT(*) as Counts from (select * from TA union select * from TB) t GROUP BY Age

查A+B表中每个Age各有几人,该如何写?

直接这样就可以了

SELECT Age,COUNT(*) 人数 FROM
(select A.name,A.age from A
union all
select b.name,B.age from B )

GROUP BY Age
不行了找我,