0

我想从包含日期和数据的表中计算数据..表中有很多数据。示例如下:

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

并根据上述数据。我想把它计算成这样的表:

DATE           sdata1  sdata2
-------------------------------
01/01/2010     54310   4727    
02/01/2010     54334   12918    
03/01/2010     32604   18533

sdata1 和 sdata2 是计算的数据的总和......我有什么办法可以将数据计算到上述数据显示中?谢谢……呵呵……

4

1 回答 1

3
SELECT DATE, SUM(data1) AS sdata1, SUM(data2) AS sdata2 FROM table1 GROUP BY DATE;

试试这个,让我知道这是否是你要找的。如果需要范围,您还可以使用 WHERE DATE BETWEEN startDate AND endDate。


如果您希望另一个表中的此数据用于“处理”,则另一个技巧是:

CREATE TABLE table2 (SELECT DATE, SUM(data1) AS sdata1, SUM(data2) AS sdata2 FROM table1 GROUP BY DATE);

这将执行上面的查询,但会使用结果创建一个新表。我不确定您为什么需要它,但有时反规范化并在表格中显示计算信息可以加快您的应用程序的速度。


如果您已经有一张桌子,那么您可以执行以下操作:

INSERT INTO table2 (DATE, sdata1, sdata2) VALUES (SELECT DATE, SUM(data1) AS sdata1, SUM(data2) AS sdata2 FROM table1 GROUP BY DATE);
于 2012-07-23T06:52:33.177 回答