rgu*_*uha 7 sql oracle aggregate
我正在尝试实现一个程序来评估一组数字的中位数绝对偏差(通常通过GROUP BY子句获得).
我想要使用它的查询示例是:
select id, mad(values) from mytable group by id;
Run Code Online (Sandbox Code Playgroud)
我将通过聚合函数示例,但有点困惑,因为函数需要在完成所有迭代之前知道所有数字的中位数.
任何关于如何实现这样的功能的指针都将非常感激.
Qua*_*noi 11
在Oracle 10g+
:
SELECT MEDIAN(ABS(value - med))
FROM (
SELECT value, MEDIAN(value) OVER() AS med
FROM mytable
)
Run Code Online (Sandbox Code Playgroud)
,或与以下相同GROUP BY
:
SELECT id, MEDIAN(ABS(value - med))
FROM (
SELECT id, value, MEDIAN(value) OVER(PARTITION BY id) AS med
FROM mytable
)
GROUP BY
id
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3629 次 |
最近记录: |