여러 테이블 열의 평균 계산
데이터베이스 테이블 작업의 맥락에서 여러 열의 평균 값을 계산해야 하는 경우가 많습니다. 이는 데이터를 요약하거나 분석해야 할 때 특히 유용합니다. 프로세스를 보여주기 위해 구체적인 예를 살펴보겠습니다.
시나리오:
R1, R2, R3, R4 값을 나타내는 열이 있는 "Request"라는 테이블이 있습니다. 그리고 R5. 테이블의 각 레코드에 대해 이러한 값의 평균을 확인하려고 합니다.
초기 접근 방식:
이를 달성하기 위해 처음에 다음 쿼리를 시도했습니다.
Select Req_ID, Avg(R1+R2+R3+R4+R5) as Average from Request Group by Req_ID
그러나 이 쿼리는 의도한 결과를 제공하지 않습니다. 평균이 아닌 값의 합을 계산합니다.
원인:
AVG 집계 함수를 사용할 때 제공된 인수가 표현식인지 확인하는 것이 중요합니다. 단일 숫자 값으로 평가됩니다. 이 경우 여러 열의 값을 더하여 합계가 생성됩니다.
해결책:
평균을 계산하는 데 사용할 수 있는 두 가지 방법이 있습니다. 올바르게:
1. 하위 쿼리 사용(2008 구문):
SELECT *, (SELECT AVG(c) FROM (VALUES(R1), (R2), (R3), (R4), (R5)) T (c)) AS [Average] FROM Request
이 접근 방식에서는 하위 쿼리를 사용하여 평균을 계산합니다. 하위 쿼리는 각 열의 값을 선택하고 이를 별도의 행으로 처리합니다. 그런 다음 AVG 집계 함수를 적용하여 평균을 계산합니다.
2. 하위 쿼리에서 UNION 사용(2005 구문):
SELECT *, (SELECT AVG(c) FROM (SELECT R1 UNION ALL SELECT R2 UNION ALL SELECT R3 UNION ALL SELECT R4 UNION ALL SELECT R5) T (c)) AS [Average] FROM Request
이 방법은 UNION을 사용하여 여러 열의 모든 값을 단일 열로 결합합니다. 그런 다음 AVG 집계 함수가 결합된 열에 적용되어 평균을 계산합니다.
결과:
두 접근 방식 모두 요청의 각 레코드에 대해 올바른 평균 값을 제공합니다. 테이블. 이러한 솔루션 중 하나를 따르면 여러 테이블 열의 평균을 정확하게 계산하고 원하는 결과를 얻을 수 있습니다.
위 내용은 데이터베이스 테이블에 있는 여러 열의 평균을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!