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 に答える