我自己的GROUP BY函数

时间:2017-02-21 06:15:54

标签: sql oracle

我希望能够创建自己的GROUP BY功能。就像有一个AVG()或SUM()函数可以在GROUP BY中使用,其中average和sum是根据每个特定组中的值计算的,我希望能够创建自己的函数,它将根据值计算某些值。组。假设我想创建MYFN()函数,它将计算Σx^ 2 / n(x是组中的值和组中的n个值)。此函数的用法应如下所示:

SELECT mygroup,MYFN(x)
FROM mytable
GROUP BY mygroup
ORDER BY 2 DESC

怎么做?

1 个答案:

答案 0 :(得分:1)

SELECT mygroup, sum(ColFun) As ColFun FROM
(
  SELECT mygroup,MYFN(x) As ColFun FROM mytable
)Y
GROUP BY mygroup