如何用SQL语句进行数据统计(100分)

O

ouwx

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一个表TEST1,里面有95年的记录100条,96年的记录200条,98年的记录300条。。。
我要把每一年的总条统计出来,我们一般是用SELECT COUNT(*) COUNT FROM DBO.TEST1
但是现在的问题是,我不要它显示出来,而是直接把统计结果存入TEST2表的相应年份中,请问如何用SQL语句实现
 
test2表的结构如何呢?

一般不建议这么做(把计算结果存入数据表),而是在使用时重新计算。
 
insert into test2
SELECT year,COUNT(*) COUNT FROM DBO.TEST1 group by year


-----
http://www.8421.org
 
test2表结构是
id int;
year char
count int

year中已经有各个年份,现在只要把统计结果存入相应的年份中就可以了
我这样做的目的就是每天统计一次,不必要每个来访的时候都统计
 
insert into test2(year, count)
SELECT year,COUNT(*) COUNT FROM DBO.TEST1 group by year

id是自动增长字段吧
 
qdyoung:我不是要插入,我是要更新现有表TEST2的数据
就是用UPDATE
但是具体如何写我做了好久都没有做出,下面这个是错的
update test
set test.人数=test2.count
select year,count(*) count from test2 group by year
 
试试
update test
set test.人数=(select count(*) from test2 where test2.year=test.year)
 
谢谢qdyoung,你的最后答案是正确的
 
接受答案了.
 
qdyoung对不起,我把分给错了!
 
呵呵,退给你,等下过来拿。
 
顶部