【发布时间】:2017-03-12 05:58:46
【问题描述】:
我有一个 SQL 问题。 我试图找到每月的平均注射量。目前,我的代码将所有注入天数的总和除以 当月的总天数。
Sum(W1."INJECTION_VOLUME" /
EXTRACT(DAY FROM LAST_DAY(W1."INJECTION_DATE"))) AS "AVGINJ"
这不是我想要的。
我需要取 injection_volume 并除以 DATA 中的总天数。
即。现在injection volume的数据只有8天,假设是3000。
所以现在 sql 是 3000/31。
我需要让它为 3000/8(当月数据中的总天数。)
此外,这应该仅适用于当前月份。所有其他已完成的月份应除以该月的总天数。
【问题讨论】:
-
什么平台? SQL 服务器?甲骨文?后格雷斯?您尚未指明哪个字段将指示日期,但这是一个开始:
SUM(W1.INJECTION_VOLUME) / COUNT(DISTINCT MyDateField)。请注意,这 first 将总数相加,然后将它们相除,这通常是获得此类数字的正确方法 -
其实这很完美。谢谢!
-
酷。以后请记住,它自己的SQL标签没有多大意义-您还应该发布平台
-
会的。它是“FINDER”数据库,是一个 Oracle 数据库。