2010-01-22 682 views
5

有誰知道如何解決這個錯誤?這個SQL工作正常,但'cumulinvoiced'分區功能。我試圖添加一個累計總數,但它似乎並沒有在內聯視圖上工作。ORA-30483:窗口功能不允許在這裏

SELECT a.mois, a.supid, a.status, COUNT (a.status), 
     SUM (COUNT (a.status) OVER (ORDER BY a.status, a.supid, a.dossier, a.mois)) cumulinvoiced 
from (SELECT TO_CHAR (impdate, 'YYYYMM') mois, 
      benefit#sup_inv_id supid, 
      SUBSTR (si_benstatus, 1, 1) status, 
      files#fil_secid dossier 
     FROM sbbenefit 
     WHERE benefit#sup_inv_id = 30515 
     AND SUBSTR(si_benstatus, 1, 1) = '2' 
    GROUP BY TO_CHAR (impdate, 'YYYYMM'), benefit#sup_inv_id ,SUBSTR (si_benstatus, 1, 1), files#fil_secid) a 
GROUP BY a.mois, a.supid, a.status 
order BY a.supid, a.mois , a.status 
+0

你能否提供一個你正在嘗試的SQL的例子不起作用並生成ORA-30483? – 2010-01-22 18:59:33

回答

5

骨料COUNT應的參數來分析SUM,而不是相反:

SELECT a.mois, a.supid, a.status, COUNT (a.status), 
     SUM (COUNT (a.status)) OVER (ORDER BY a.status, a.supid, a.dossier, a.mois) cumulinvoiced 
from (SELECT TO_CHAR (impdate, 'YYYYMM') mois, 
      benefit#sup_inv_id supid, 
      SUBSTR (si_benstatus, 1, 1) status, 
      files#fil_secid dossier 
     FROM sbbenefit 
     WHERE benefit#sup_inv_id = 30515 
     AND SUBSTR(si_benstatus, 1, 1) = '2' 
    GROUP BY TO_CHAR (impdate, 'YYYYMM'), benefit#sup_inv_id ,SUBSTR (si_benstatus, 1, 1), files#fil_secid) a 
GROUP BY a.mois, a.supid, a.status 
order BY a.supid, a.mois , a.status 
0

分析和分組不傾向於一起工作。如果執行分組第一,然後做針對該結果對分析查詢,我認爲它應該工作:

SELECT mois, supid, status, status_count, 
     SUM (status_count OVER (ORDER BY a.status, a.supid, a.dossier, a.mois)) cumulinvoiced 
from 
(SELECT a.mois, a.supid, a.status, COUNT (a.status) status_count 
from 
(
SELECT 
TO_CHAR (impdate, 'YYYYMM') mois, 
benefit#sup_inv_id supid, 
SUBSTR (si_benstatus, 1, 1) status, 
files#fil_secid dossier 
FROM sbbenefit 
WHERE benefit#sup_inv_id = 30515 
AND SUBSTR (si_benstatus, 1, 1) = '2' 
GROUP BY 
TO_CHAR (impdate, 'YYYYMM'), 
benefit#sup_inv_id , 
SUBSTR (si_benstatus, 1, 1), 
files#fil_secid 
) a 
GROUP BY 
a.mois, a.supid, a.status 
) 
order BY 
supid, mois , status 
+3

聚合和分析可以一起工作,但聚合應該是分析的參數。 – Quassnoi 2010-01-22 19:01:41