안녕하세요 결과 집합의 평균을 계산하려고하지만 나는 할 수 없습니다 그래서 count (*)를 선택하는 쿼리는 1과 1 월 31 일에 거의 20 개의 행이 반환됩니다. 어떻게 결과의 평균을 계산하고 SET @abc = (아래 쿼리)와 같은 변수에 값을 할당해야합니까? SQL Server 2005를 사용하고 있습니다.여러 행을 반환하는 카운트 (*)의 평균을 찾기
SELECT avg(Calls) AS average
FROM
(
SELECT COUNT(*) Calls
FROM abc
WHERE CallDate BETWEEN '20120101' AND '20120131'
AND datepart(Hh,TranscribeDateTime) = '07'
AND datepart(Mi,TranscribeDateTime) BETWEEN '00' AND '59'
AND AppID = 123 AND Status ='T'
GROUP BY calldate
)
내 접근 방식이 잘못되면 제안 해주십시오. 그냥 (SQL 서버 필요) 파생 테이블에 대한 테이블 별칭과 할당 문을 (당신이 변수에 할당하는 경우 또한 열 AS average
별칭을 수 없습니다) 누락과 같은
접근 방식이 괜찮아 보입니다. 너의 문제는 무엇인가? 실패 했습니까? 예기치 않은 결과가 나옵니까? –
SQL Server는 정수의 평균을 부동 소수점 대신 정수로 계산합니다. 'avg (cast (Calls as float))'를 원할 수 있습니다. –