현재 모니터링을 위해 테이블을 두개의 테이블을 조인해서 데이터를 뽑아놓은상태입니다.
이상태에서 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
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 ;