본문 바로가기
MySql

MySQL Calculating the Median with Mysql

by 베이스 공부 2020. 10. 14.
반응형

평균이 아닌 값 목록의 중앙값을 계산하는 데 문제가 있습니다.

이 기사를 찾았습니다


내가 제대로 이해하지 못하는 다음 쿼리에 대한 참조가 있습니다.

SELECT x.val from data x, data y
GROUP BY x.val
HAVING SUM(SIGN(1-SIGN(y.val-x.val))) = (COUNT(*)+1)/2

time 열이 있고 중앙값을 계산하려는 경우 x y 열은 무엇을 참조합니까?

 

해결 방법

 

val 은 시간 열이고 x y 는 데이터 테이블에 대한 두 가지 참조입니다 ( data AS x, data AS y ).

편집하다: 합계를 두 번 계산하지 않으려면 중간 결과를 저장할 수 있습니다.

CREATE TEMPORARY TABLE average_user_total_time 
      (SELECT SUM(time) AS time_taken 
            FROM scores 
            WHERE created_at >= '2010-10-10' 
                    and created_at <= '2010-11-11' 
            GROUP BY user_id);

그런 다음 명명 된 테이블에있는 이러한 값에 대해 중앙값을 계산할 수 있습니다.


 

참조 페이지 https://stackoverflow.com/questions/5401158

 

 

반응형

댓글