통계 분석 및 데이터 해석에서는 데이터 세트의 중앙값을 결정하는 것이 중요합니다. MySQL은 평균을 계산하는 편리한 AVG() 함수를 제공하지만 중앙값을 찾으려면 다른 접근 방식이 필요합니다. 이 문서에서는 단일 MySQL 쿼리를 사용하여 중앙값을 계산하는 간단한 솔루션을 제공합니다.
MySQL은 PHP에서 행을 정렬하고 선택하는 것보다 더 효율적인 방법을 제공합니다.
<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>
코드 해석:
이 쿼리의 최적화된 버전은 행 개수 작업을 사용하여 두 번째 전달 또는 조인을 방지합니다.
<code class="language-sql">SELECT AVG(dd.val) as median_val FROM ( SELECT d.val, (@rownum:=@rownum+1) as `row_number` -- 性能优化 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((@rownum)/2), FLOOR((@rownum)/2)+1 ) -- 或 FLOOR((@rownum)/2), FLOOR((@rownum)/2)+1 )</code>
MariaDB 버전 10.3.3에는 내장 MEDIAN 기능이 포함되어 있습니다.
<code class="language-sql">SELECT MEDIAN(val) AS median_val FROM data</code>
이러한 방법은 MySQL에서 중앙값을 계산하기 위한 간단하고 효율적인 솔루션을 제공하므로 개발자는 데이터에서 의미 있는 통찰력을 쉽게 추출할 수 있습니다.
위 내용은 MySQL에서 중앙값을 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!