【问题标题】:My own GROUP BY function [duplicate]我自己的 GROUP BY 函数[重复]
【发布时间】:2017-02-21 14:54:50
【问题描述】:

我希望能够创建自己的 GROUP BY 函数。就像一个可以在 GROUP BY 中使用的 AVG() 或 SUM() 函数一样,其中平均值和总和是根据每个特定组中的值计算的,我希望能够创建自己的函数,该函数将从中的值计算一些东西团体。假设我想创建 MYFN() 函数,它将计算 Σx^2/n (x 是组中的值和组中的 n 个值)。这个函数的用法应该是这样的:

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

怎么做?

【问题讨论】:

  • 您能否发布一个小样本数据和所需的结果,比如使用您描述的功能。我不清楚如何在一组值中评估这样的函数
  • This answer 有一些关于 Oracle 自定义组函数方法的信息。

标签: sql oracle


【解决方案1】:
SELECT mygroup, sum(ColFun) As ColFun FROM
(
  SELECT mygroup,MYFN(x) As ColFun FROM mytable
)Y
GROUP BY mygroup

【讨论】:

  • 这里为什么要用SUM函数?
  • @sbrbot 想要函数,如 AVG() 或 SUM() ....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
  • 2018-06-27
  • 1970-01-01
相关资源
最近更新 更多