sql - Oracle中没有一个函数错误

标签 sql oracle ora-00937

SQL查询:

      SELECT SUM (gross_amount) /
           (SELECT TO_CHAR (
                  LAST_DAY (TO_DATE (MAX (accounting_period), 'YYYYMM')),
                 'DD') 
           FROM t_beta_invoice)
       FROM t_beta_invoice_details

我尝试通过将总金额除以表 t_beta_invoice 中给定月份的天数来计算每日发票金额。首先,我获取会计期间,其格式为“YYYYMM”,并找到其最后一天来计算它是否包含28、29、30或31天。

但每当我尝试运行此函数时,它都会给出*ORA-00937: not a single-group group function*。任何人都可以帮助解决这种情况吗?

最佳答案

尝试使用它并确保第二个查询不返回 0。

select

(SELECT SUM (gross_amount)      
           FROM t_beta_invoice_details)
 /

 (SELECT TO_CHAR (LAST_DAY (TO_DATE (MAX (accounting_period), 'YYYYMM')), 'DD') 
           FROM t_beta_invoice)
FROM DUAL;

关于sql - Oracle中没有一个函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18208353/

相关文章:

mysql - 获取每组分组结果的前n条记录

mysql - 如何加快对 mysql 表的搜索?

mysql - 在 MySQL 与 Oracle 中创建表

java - 如何在数据库中生成序号序列?

Oracle SGA_TARGET 大小

Oracle 从具有多行和多列的 Dual 中选择

sql - 平均值的最大值

sql - 如何解决 ORA-00937 : not a single-group group function when calculating percentage?

sql - 如何在SQL中选择相似的集合