+ -
当前位置:首页 → 问答吧 → 相同的表结构,如何统计多个表中 相同字段不同数值的个数?

相同的表结构,如何统计多个表中 相同字段不同数值的个数?

时间:2011-08-10

来源:互联网

有多张表,这些表的结构都是一样的,
假如表中有字段A,
如何统计这些表中A字段中不同值的个数?
补充:多张表的数据量在千万级以上
求性能不错的sql语句与算法,谢谢啦!

作者: abenboy   发布时间: 2011-08-10

select count(*) from(
select 字段A from table1
union
select 字段A from table2
union
select 字段A from table3
union
..
union
select 字段A from tableN
)

作者: ACMAIN_CHM   发布时间: 2011-08-10

楼上滴哥,是要统计A字段不同值的个数,比如
字段A
1
2
1
2
5
这样统计出来的结果应该是 3 个,

两个1算1个,两个2算1个,1个5算1个,总共三个。

数据量大的话数据库执行起来时需要很多时间的,有什么算法可以节省时间,

请指教啦,谢谢了!

作者: abenboy   发布时间: 2011-08-10

引用 1 楼 acmain_chm 的回复:
select count(*) from(
select 字段A from table1
union
select 字段A from table2
union
select 字段A from table3
union
..
union
select 字段A from tableN
)


这位哥,是要统计A字段不同值的个数,比如
字段A
1
2
1
2
5
这样统计出来的结果应该是 3 个,

两个1算1个,两个2算1个,1个5算1个,总共三个。

数据量大的话数据库执行起来时需要很多时间的,有什么算法可以节省时间,

请指教啦,谢谢了!

作者: abenboy   发布时间: 2011-08-10