MS-SQL 일별 통계 구하는법에 대해... 0 2 1,237

by 아이스베어 [SQL Query] mssql 일별데이터통계 [2020.12.07 10:32:22]


데이터사진.JPG (161,106Bytes)

현재 모니터링을 위해 테이블을 두개의 테이블을 조인해서 데이터를 뽑아놓은상태입니다.

이상태에서 datetime 으로 하루 하루 묶어 일별 통계를 내고 싶습니다....

어떻게 해야할지 감이 안잡히네요 ..

아래는 쿼리 이며 데이터 결과입니다.

원하는 결과값은 Nodeid로 묶여서 각 일자별 해당되는 컬럼의 평균값을 구하는것 입니다.

SELECT

     (no.caption + ' - ' + 'ETH0') as [Node Name],

      it.datetime,

     it.in_averagebps as [Average BPS In],

     it.out_averagebps as [Average BPS Out],

     it.in_Maxbps as [Max BPS In],

     it.out_Maxbps as [Max BPS Out],

     it.in_averagebps+it.out_averagebps as [Average BPS Total]


FROM [dbo].[InterfaceTraffic] it

inner join nodes no

     on it.nodeid=no.nodeid

where it.interfaceID= 24


order by it.datetime asc

 

 

by 마농 [2020.12.07 11:10:25]
SELECT (no.caption + ' - ' + 'ETH0')             AS [Node Name]
     , CONVERT(VARCHAR(10), it.datetime, 120)    AS [datetime]
     , AVG(it.in_averagebps )                    AS [Average BPS In]
     , AVG(it.out_averagebps)                    AS [Average BPS Out]
     , MAX(it.in_Maxbps     )                    AS [Max BPS In]
     , MAX(it.out_Maxbps    )                    AS [Max BPS Out]
     , AVG(it.in_averagebps + it.out_averagebps) AS [Average BPS Total]
  FROM [dbo].[InterfaceTraffic] it
 INNER JOIN nodes no
    ON it.nodeid = no.nodeid
 WHERE it.interfaceID = 24
 GROUP BY no.caption
     , CONVERT(VARCHAR(10), it.datetime, 120)
 ORDER BY no.caption, datetime
;

 


by 아이스베어 [2020.12.07 11:44:29]

와.. 정말감사합니다..

 

깔끔하게 보이네요..  공부많이해야겠네요 .. ㅎㅎ 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입