Sql 在窗口函数中包装case语句

Sql 在窗口函数中包装case语句,sql,oracle,Sql,Oracle,我有下面的sql,希望在window函数中添加一个filter子句。这可能吗 select ROUND(SUM(M.CHRG_RATE/M.CONTRACTUAL_RATE) OVER (PARTITION BY M.PROGRAM),0) AS BILLED_MEMBERS_PER_MONTH2 from tableA where 1=1 我在想我能写一份案情陈述吗 类似于:您可以使用case将行保留在总和之外。例如,这仅对标志列等于“Q”的行求和: 样本数据和期望的

我有下面的sql,希望在window函数中添加一个filter子句。这可能吗

select ROUND(SUM(M.CHRG_RATE/M.CONTRACTUAL_RATE) OVER 
           (PARTITION BY M.PROGRAM),0) AS BILLED_MEMBERS_PER_MONTH2
from tableA
where 1=1
我在想我能写一份案情陈述吗

类似于:

您可以使用case将行保留在总和之外。例如,这仅对标志列等于“Q”的行求和:


样本数据和期望的结果将非常有用。
SUM(CASE WHEN M.FLAG = 'Q' THEN M.CHRG_RATE/M.CONTRACTUAL_RATE END)