首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数据集锦,求解

2012-09-21 
数据汇总,急求解表WarnCount如下:表WarnUse如下:现在想把“WarnUse”中的数据汇总到“WarnCount”中,汇总的规

数据汇总,急求解
表WarnCount如下:


表WarnUse如下:



现在想把“WarnUse”中的数据汇总到“WarnCount”中,汇总的规则如下:

1、根据“WarnUse”表的“DATime(datetime)”字段,返回每小时的记录数。
2、比如“WarnUse”表,有记录“2010-07-24 16:00:16.000”和“2010-07-24 19:45:16.000”,这时候“2010-07-24 19:00:00.000”就有两条记录。
3、将“WarnUse”表的“DATime(datetime)”字段分解。“2010072419”插入到“WarnCount”表的“DANo”字段中,“20100724”插入到“WarnCount”表的“DADay”字段中,“19”插入到“DAHour”字段中,返回记录数“2”插入到“SumQty”字段中。

小弟没做过类似的汇总,应该如何实现??? 感激不尽?

[解决办法]
给脚本啊,图看的多不自在,又不能复制过去
[解决办法]

探讨

谢谢您,脚本如下:
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[WarnCount](
[DANo] [char](10) NOT NULL,
[MeterType] [char](4) NULL,
[DADay] [char……

[解决办法]
SQL code
建议你提供详细的资料:例如表的结构,表之间的关系,测试数据,相关算法及需要的结果。这样有助于我们理解你的意思,更主要的是能尽快让你获得答案或解决问题的方法。
[解决办法]
SQL code
/*楼主太懒了,给的表没用的字段都给了~~思路就是以下面的方式如果不想给出指定的时间,用游标一条一条去判断是不是在这个时间范围之类。如果日期乱的话就没办法。*/insert into WarnUse values ('0001','225779','EM','2010-07-23 15:45:14.000',null,null,null)insert into WarnUse values ('0001','225779','EM','2010-07-23 16:00:16.000',null,null,null)insert into WarnUse values ('0001','225779','EM','2010-07-24 19:45:17.000',null,null,null)insert into WarnUse values ('0001','225779','EM','2010-07-25 20:45:14.000',null,null,null)insert into WarnUse values ('0001','225779','EM','2010-07-25 20:00:16.000',null,null,null)insert into WarnUse values ('0001','225779','EM','2010-07-24 20:45:17.000',null,null,null)declare @SDT datetime,@EDT datetimeset @SDT ='2010-07-25 20:00:00.000'set @EDT ='2010-07-25 21:00:00.000'select COUNT(*) from WarnUse where DATime between @SDT and @EDT-----------2(1 row(s) affected)没有看明白楼主怎么把这个值传到另外一个表里面去
[解决办法]
insert into WarnCount(DADay,DANo,DAHour,SumQty)
select convert(varchar(8),DATime,112),convert(varchar(8),DATime,112)+convert(varchar(2),getdate(),108),convert(varchar(2),getdate(),108),count(1) 
from WarnUse convert(varchar(8),DATime,112),convert(varchar(8),DATime,112)+convert(varchar(2),getdate(),108),convert(varchar(2),getdate(),108)

[解决办法]
探讨
insert into WarnCount(DADay,DANo,DAHour,SumQty)
select convert(varchar(8),DATime,112),convert(varchar(8),DATime,112)+convert(varchar(2),getdate(),108),convert(varchar(2),getdate(),108),count(1)
fro……

[解决办法]
你能否根据你提供的示例数据,给出你想要的结果?最好对结果是怎么得出的做个相关说明.
[解决办法]
--加上一个判断,如果存在的情况,则不需要插入.至于列名,你自己写正确即可.
SQL code
create table WarnUse(metertype varchar(4),datime datetime)insert into WarnUse values ('EM','2010-07-23 15:45:14.000')insert into WarnUse values ('EM','2010-07-23 16:00:16.000')insert into WarnUse values ('EM','2010-07-24 19:45:17.000')insert into WarnUse values ('EM','2010-07-25 20:45:14.000')insert into WarnUse values ('EM','2010-07-25 20:00:16.000')insert into WarnUse values ('EM','2010-07-24 20:45:17.000')create table WarnCount(dano varchar(10),metertype varchar(4),daday varchar(8),dahour varchar(2),sumqty int)goinsert into WarnCount(metertype,DADay,DANo,DAHour,SumQty)select   metertype,convert(varchar(8),DATime,112),convert(varchar(8),DATime,112)+convert(varchar(2),DATime,108),convert(varchar(2),DATime,108),count(1)from WarnUse m where not exists(select 1 from WarnCount n where n.metertype = m.metertype and n.DADay = convert(varchar(8),m.DATime,112) and n.DANo = convert(varchar(8),m.DATime,112)+convert(varchar(2),DATime,108) and n.DAHour = convert(varchar(2),m.DATime,108))group by metertype,convert(varchar(8),DATime,112),convert(varchar(8),DATime,112)+convert(varchar(2),DATime,108),convert(varchar(2),DATime,108)select * From WarnCount/*dano       metertype daday    dahour sumqty      ---------- --------- -------- ------ ----------- 2010072315 EM        20100723 15     12010072316 EM        20100723 16     12010072419 EM        20100724 19     12010072420 EM        20100724 20     12010072520 EM        20100725 20     2(所影响的行数为 5 行)*/drop table WarnUse,WarnCount 


[解决办法]
你应该到帮助中查查count , exists的用法.
[解决办法]
我没分了。想占点便宜啊。大侠们像这样的SQL语句格式有木有实例啊。给一个嘛。非常感谢了。我QQ429592913

格式:

艺术0-1000 艺术1000以上 婚5999以下 6000以上 10000以上 HT-3999以下
个 金额 个金额 个金额个 金额 个金额 个 金额

有实例的可以给我一个真的非常谢谢了

热点排行