Sql 使用regr_斜率时不使用单组分组功能

Sql 使用regr_斜率时不使用单组分组功能,sql,oracle,ora-00937,Sql,Oracle,Ora 00937,嗨,我试着跑: select year, regr_slope(sum(sale_count),year) as slope, from products group by year 它抛出“00937.00000-”而不是单个组函数“”。当我从select子句中删除年份时,问题就消失了。难道我不能选择要分组的列吗 Oracle 11.2 sqldeveloper 我需要帮助 这是因为您试图使用一个函数(),该函数可以是另一个聚合(和)结果的聚合(或分析)函数-使用: 替换使用WIT

嗨,我试着跑:

 select
  year,
  regr_slope(sum(sale_count),year) as slope,
from products
group by year
它抛出“00937.00000-”而不是单个组函数“”。当我从select子句中删除年份时,问题就消失了。难道我不能选择要分组的列吗

Oracle 11.2 sqldeveloper


我需要帮助

这是因为您试图使用一个函数(),该函数可以是另一个聚合(和)结果的聚合(或分析)函数-使用:

替换使用WITH子句(Oracle 9i+):


这是因为您试图使用一个函数(),该函数可以是另一个聚合(求和)结果的聚合(或分析)函数-使用:

替换使用WITH子句(Oracle 9i+):


你是这样试的吗

select
   a.year
 , regr_slope(a.sale_count,a.year) as slope,
from (SELECT year
           , sum(sale_count) sale_count
        FROM products
      GROUP BY year) a

你是这样试的吗

select
   a.year
 , regr_slope(a.sale_count,a.year) as slope,
from (SELECT year
           , sum(sale_count) sale_count
        FROM products
      GROUP BY year) a
ORA-00937:ORA-00937:
select
   a.year
 , regr_slope(a.sale_count,a.year) as slope,
from (SELECT year
           , sum(sale_count) sale_count
        FROM products
      GROUP BY year) a