반응형
평균이 아닌 값 목록의 중앙값을 계산하는 데 문제가 있습니다.
이 기사를 찾았습니다
내가 제대로 이해하지 못하는 다음 쿼리에 대한 참조가 있습니다.
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
반응형
'MySql' 카테고리의 다른 글
MySQL insert current date time using laravel (0) | 2020.10.14 |
---|---|
MySQL mySql에서 초 (또는 밀리 초)를 타임 스탬프 (또는 날짜처럼 보이는 문자열)로 변환하는 방법 (0) | 2020.10.14 |
MySQL MySql can't make column auto_increment (0) | 2020.10.14 |
MySQL How can I generate dynamic charts with MySQL data? (0) | 2020.10.14 |
MySQL Codeigniter를 사용한 Excel 출력 (0) | 2020.10.14 |
댓글