중간 값을 계산하려면 Advantage-Database에서 집계 함수를 만들어야합니다.중앙값에 대한 집계 함수를 만드는 방법은 무엇입니까?
SELECT
group_field
, MEDIAN(value_field)
FROM
table_name
GROUP BY
group_field
사용하는 SQL 엔진에 매우 특정한 솔루션이있는 것 같습니다.
중간 값을 계산하려면 Advantage-Database에서 집계 함수를 만들어야합니다.중앙값에 대한 집계 함수를 만드는 방법은 무엇입니까?
SELECT
group_field
, MEDIAN(value_field)
FROM
table_name
GROUP BY
group_field
사용하는 SQL 엔진에 매우 특정한 솔루션이있는 것 같습니다.
중간 집계 함수 ADS 당신이 도움말 파일에서 볼 수 :
http://devzone.advantagedatabase.com/dz/webhelp/Advantage10.1/index.html
나는 당신이 당신의 자신의 저장 프로 시저 또는 SQL 스크립트를 작성해야 두려워 해요 이 문제를 해결하십시오.
가 다음과 같은 질문에 대한 허용 대답은 당신을위한 해결책이 될 수 있습니다 Simple way to calculate median with MySQL
이 조금 긴이지만, 작업을 수행하고, 합리적으로 빨리.
SELECT x.group_field,
avg(
IF(
ABS(x.rank - y.vol/2) < 1,
value_field,
null
)
) as median
FROM (
SELECT group_field, value_field,
@r:= IF(@current=group_field, @r+1, 1) as rank,
@current:=group_field
FROM (
SELECT group_field, value_field
FROM table_name
ORDER BY group_field, value_field
) z, (SELECT @r:=0, @current:='') v
) x, (
SELECT group_field, count(*) as vol
FROM table_name
GROUP BY group_field
) y WHERE x.group_field = y.group_field
GROUP BY x.group_field