2012-07-23 3 views
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 계산 데이터의 합은 ... 상기 데이터 디스플레이로 데이터를 계산하는 방법이 있습니까? 고마워요 ... hehe ...

+1

는'DATE' 열은 항상 매월 1 일에 수 있습니까? –

+0

이 날짜는 미국식 또는 유럽식입니까? – podiluska

+0

이 새로운 스레드를 살펴 http://stackoverflow.com/questions/11645576/sum-up-the-data-from-today-specific-data-to-the-next-day-data- and-the-rest-of-th – newbieHQ

답변

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

내가 원하는 것을 알려 주시면 알려주세요. 범위가 필요한 경우 startDate와 endDate 사이의 WHERE DATE를 사용할 수도 있습니다.

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); 
+0

다른 유용한 "트릭"이 추가되었습니다. –

+0

남자 ...이 새 스레드를 한번보세요. http://stackoverflow.com/questions/11645576/sum-up-the-data-from-today-specific-data-to-the-next-day-data- 나머지 -와 - 번째 – newbieHQ

관련 문제