こんにちは私は実行しようとします:
select
year,
regr_slope(sum(sale_count),year) as slope,
from products
group by year
「00937。00000-「単一グループグループ関数ではありません」 」をスローします。select句から年を削除すると、問題が発生しなくなります。グループ化する列を選択できないようにする必要がありますか?
Oracle 11.2 sqldeveloper
助けを求めて!
これは、別の集計(SUM)の結果に対する集計(または分析)関数のいずれかである関数( REGR_SLOPE )を使用しようとしているためです-使用:
SELECT x.year,
REGR_SLOPE(sum_sales, x.year) AS slope
FROM (SELECT y.year,
SUM(y.sale_count) AS sum_sales
FROM PRODUCTS y
GROUP BY y.year) x
GROUP BY x.year
WITH句を使用する代替方法(Oracle 9i +):
WITH sums AS (
SELECT y.year,
SUM(y.sale_count)
FROM PRODUCTS y
GROUP BY y.year)
SELECT x.year,
REGR_SLOPE(sum_sales, x.year) AS slope
FROM sums x
GROUP BY x.year
このようにやってみましたか?
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