집 >데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 다른 두 필드의 각 고유 조합에 대한 필드 평균을 계산하는 방법은 무엇입니까?
AVG 및 GROUP BY를 사용한 SQL 쿼리: 각 필드의 평균값 추출
테이블에서 특정 정보를 추출하는 SQL 쿼리를 찾는 경우 , 즉 각 고유 'id' 및 'pass' 값에 대한 'val' 필드의 평균입니다.
이를 달성하려면 간단하지만 효율적인 쿼리를 사용할 수 있습니다.
<code class="sql">SELECT id, pass, AVG(val) AS val_1 FROM data_r1 GROUP BY id, pass;</code>
이 쿼리는 데이터를 'id'와 'pass'로 그룹화하여 각 조합에 대한 'val'의 평균값을 계산합니다. 결과 테이블에는 'id' 및 'pass' 값의 모든 고유 쌍에 대한 행이 포함됩니다.
또는 모든 'pass' 값에 대한 평균 값과 함께 각 고유 'id'에 대한 단일 행을 선호하는 경우 , 다음 쿼리를 사용하세요.
<code class="sql">SELECT d1.id, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERE d2.id = d1.id AND pass = 1) as val_1, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERE d2.id = d1.id AND pass = 2) as val_2, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERE d2.id = d1.id AND pass = 3) as val_3, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERE d2.id = d1.id AND pass = 4) as val_4, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERE d2.id = d1.id AND pass = 5) as val_5, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERE d2.id = d1.id AND pass = 6) as val_6, (SELECT IFNULL(ROUND(AVG(d2.val), 4) ,0) FROM data_r1 d2 WHERE d2.id = d1.id AND pass = 7) as val_7 from data_r1 d1 GROUP BY d1.id</code>
이 쿼리는 각 '통과' 값에 대해 중첩된 하위 쿼리를 사용하여 평균을 계산합니다. 그런 다음 'id'별로 결과를 집계하여 데이터의 통합 보기를 제공합니다.
위 내용은 SQL을 사용하여 다른 두 필드의 각 고유 조합에 대한 필드 평균을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!