내 테이블에 다음 데이터가 있습니다.
SELECT category, value FROM test
| 카테고리 | 가치 | + ---------- + ------- + | 1 | 1 | | 1 | 3 | | 1 | 4 | | 1 | 8 |
지금은 두 개의 별도 쿼리를 사용하고 있습니다.
평균을 얻으려면 :
SELECT category, avg(value) as Average
FROM test
GROUP BY category
| 카테고리 | 가치 | + ---------- + ------- + | 1 | 4 |
중앙값을 얻으려면 :
SELECT DISTINCT category,
PERCENTILE_CONT(0.5)
WITHIN GROUP (ORDER BY value)
OVER (partition BY category) AS Median
FROM test
| 카테고리 | 가치 | + ---------- + ------- + | 1 | 3.5 |
하나의 쿼리로 병합하는 방법이 있습니까?
참고 : 두 개의 하위 쿼리로 중앙값을 얻을 수도 있지만 PERCENTILE_CONT 함수를 사용하여 가져 오는 것을 선호합니다.
AVG는 또한 윈도우 기능입니다.
select
distinct
category,
avg(value) over (partition by category) as average,
PERCENTILE_CONT(0.5)
WITHIN GROUP (ORDER BY value)
OVER (partition BY category) AS Median
from test
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다