0

Oracle の EXTRACT 関数に問題があり、以下のスクリプトの何が問題なのかわかりません。何らかの理由で AS キーワードを EXTRACT と共に使用すると、GROUP BY 文で参照されると無効な識別子がスローされます。ASキーワードなしで指定された自動名で列を参照すると機能します。

WITH counted AS(
  SELECT UNIT,
         STATUS,
         SDESC,
         COUNT(1) AS cnt,
         EXTRACT(month FROM STATUS_DATE) AS statusMonth,
         ROW_NUMBER() OVER(PARTITION BY UNIT ORDER BY COUNT(1) DESC) AS rk
  FROM ATMSTATUS
  WHERE 
    STATUS_DATE BETWEEN '1-OCT-13' AND '31-OCT-13' AND 
    STATUS > 0
  GROUP BY UNIT, STATUS, SDESC, statusMonth
  ORDER BY UNIT, cnt DESC
)
SELECT *
FROM counted
WHERE rk < (10 + 1)
4

1 に答える 1