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)