我想从包含日期、小时和数据的表中计算数据..表中有很多数据..小时是数据库中的 int 数据类型,其他(DATE.etc)是数据类型 varchar。 . 示例如下:
DATE hour data1 data2
-------------------------------
01/01/2010 1 10860 1234
01/01/2010 2 10861 1234
01/01/2010 3 10862 1234
01/01/2010 4 10863 567
01/01/2010 5 10864 458
02/01/2010 1 10865 3467
02/01/2010 2 10866 7890
02/01/2010 3 10867 863
02/01/2010 4 10868 0
02/01/2010 5 10868 698
03/01/2010 1 10868 4693
03/01/2010 2 10868 7853
03/01/2010 3 10868 5987
....................etc
并根据上述数据。我想总结日期的数据:01/01/2010,小时:2 到第二天日期:02/01/2010,小时:1,当然还有日期:02/01/2010,小时:2 到日期:03/01/2010, hour:1 和其余数据 .. 表示数据结果的输出如下:
DATE sdata1 sdata2
-------------------------------
01/01/2010 54315 6960
02/01/2010 54337 14144
03/01/2010 21736 13840
...................etc
date、data1 和 data2 的数据类型是 varchar,除了时间是数据类型 int...
sdata1 和 sdata2 是数据的总和,是否有任何其他方法可以总结从今天 hour:2 到第二天 hour:2 的条件下的这些数据?非常感谢大家..谢谢..
这些数据是由批量插入PLC数据产生的......
这是我自己的解决方案,但它永远不会成功!
从表中选择 SUM(CONVERT(int,data1)) AS sdata1,SUM(CONVERT(int,data2)) AS sdata2 where (CONVERT(datetime, date, 105) >= CONVERT(datetime,date,105) 和 CONVERT(int ,hour) >= 2) and (CONVERT(datetime, date, 105) <= DATEADD(day, 1,CONVERT(datetime,date,105)) and CONVERT(int,hour) < 2) and month(CONVERT(datetime ,Date,103))= '01' 和年份(CONVERT(datetime,Date,103))= '2010'
请有人帮我解决这个问题......我的大脑已经爆裂了......@@