MySQL에서는 중앙값(숫자 데이터 집합의 중간 값)을 계산하는 것이 어려울 수 있습니다. AVG(x)를 사용하여 평균을 계산하는 것은 간단하지만 중앙값을 찾으려면 더 복잡한 접근 방식이 필요합니다.
중앙값 계산을 단순화하기 위해 MariaDB/MySQL은 다음 쿼리를 제공합니다.
<code class="language-sql">SELECT AVG(dd.val) as median_val FROM ( SELECT d.val, @rownum:=@rownum+1 as `row_number`, @total_rows:=@rownum FROM data d, (SELECT @rownum:=0) r WHERE d.val is NOT NULL -- 在此处添加任何必要的 WHERE 子句 ORDER BY d.val ) as dd WHERE dd.row_number IN ( FLOOR((@total_rows+1)/2), FLOOR((@total_rows+2)/2) );</code>
이 쿼리는 다음 기술을 사용합니다.
FLOOR((@total_rows 1) / 2)
및 FLOOR((@total_rows 2) / 2)
에 해당하는 값을 평균하여 중앙값(짝수 데이터 세트의 경우)을 계산합니다. 위 내용은 MySQL에서 중앙값을 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!