2012-12-17 4 views
1

날짜 별 열의 표준 편차를 찾으려면 쿼리가 필요합니다. 내 테이블에는 매 10 분마다 타임 스탬프가있는 약 30,000 개의 행이 있습니다. timestamp 및 TF 열이있는 샘플 데이터를 찾으십시오. 내가현명한 날의 표준 편차

Timestamp  TF 
2012-05-17  0 
2012-05-18  0 
---    -- 
---    -- 
---    -- 
---    -- 

도와주세요로

Timestamp     TF 
2012-05-17 19:15:35.000 10 
2012-05-17 19:25:35.000 10 
2012-05-17 19:35:35.000 10 
2012-05-17 19:45:35.000 10 
2012-05-17 19:55:35.000 10 
2012-05-17 20:05:35.000 10 
2012-05-17 20:15:35.000 10 
2012-05-17 20:26:46.000 10 
2012-05-18 00:06:48.000 10 
2012-05-18 00:16:48.000 10 
2012-05-18 00:26:48.000 10 
2012-05-18 00:36:48.000 10 
2012-05-18 00:46:48.000 10 
2012-05-18 00:56:48.000 10 
2012-05-18 01:06:48.000 10 
2012-05-18 01:16:48.000 10 
2012-05-18 01:26:48.000 10 
2012-05-18 01:36:49.000 10 

필요성 출력뿐만 아니라 열의 나머지 편차를 얻을 필요가! 미리 감사드립니다 !!

아이디어가 있으십니까?

+0

왜 SQL 서버 여기에 그 일을. 쿼리 출력에서 ​​서버 쪽에서 프로그래밍 방식으로 해결하십시오. 더 쉬울 것입니다. – polin

+0

저는 SQL에 익숙하지 않습니다. 이것에 대한 질의가 필요합니다. 도와 주시겠습니까 – Reyaz

+0

출력이 이해할 수 없다고 생각합니다. 더 많은 데이터를 입력 할 수 있습니까? –

답변

1

편집 : 나는 DAYDATE : DAY을 반환합니다. DATE은 그 날까지 잘린 시간을 반환합니다. 해당 수정 사항을 포함하도록 답변이 업데이트됩니다.

당신은 하루 그룹화, 집계 함수를 사용해야합니다 :

SELECT DATE(Timestamp), STDDEV(TV) FROM MyTable GROUP BY DATE(Timestamp); 

은 내가 DATE() 기능이있는 가정합니다.

STDDEV 기능이 없을 수 있습니다. 이없는 경우, STDDEV(x)=SQRT(AVG((x-AVG(x))^2), 조인 된 서브 쿼리로 구현해야 할 수도있는 :

SELECT DATE(Timestamp), SQRT(AVG((a.TF-b.mean)*(a.TF-b.mean)) FROM MyTable a LEFT JOIN 
    (SELECT DATE(Timestamp) day, AVG(TF) mean FROM MyTable GROUP BY DATE(Timestamp)) b 
     ON DATE(a.Timestamp)=b.day 
    GROUP BY b.day; 
+0

답장을 보내 주셔서 감사합니다. 내가 게시 한대로 아래의 쿼리를DAY (타임 스탬프)로 선택하여 DAY (타임 스탬프)로 STDEV (TA)를 선택합니다. 그러나 예상대로 출력을 얻지 못했습니다. , 위의 데이터에 따라 각 열 (매일 10 분마다 기록)에 대한 편차가 필요합니다. 하루 종일 편차가있는 유일한 날짜가 필요합니다. pleae help – Reyaz

+0

'DAY' 대신'DATE'를 사용해보십시오 : http://sqlfiddle.com/#!2/4d819/5 – zebediah49

+0

오류 메시지 'DATE'는 인식 할 수있는 내장 함수 이름이 아닙니다. – Reyaz