[英]Rollup / recursive addition SQL Server 2008
我有一個with rollup
查詢with rollup
其輸出類似的數據(查詢有點忙,但是可以在需要時發布)
range subCounts Counts percent
1-9 3 100 3.0
10-19 13 100 13.0
20-29 30 100 33.0
30-39 74 100 74.0
NULL 100 100 100.0
如何保持連續的總計percent
? 假設我需要找到最低的15個百分位數,在這種情況下為3+13=16
所以我想返回最后一行
range subCounts counts percent
10-19 13 100 13.0
EDIT1:這里查詢
select '$'+cast(+bin*10000 + ' ' as varchar(10)) + '-' + cast(bin*10000+9999 as varchar(10)) as bins,
count(*) as numbers,
(select count(distinct patient.patientid) from patient
inner join tblclaims on patient.patientid = tblclaims.patientid
and patient.admissiondate = tblclaims.admissiondate
and patient.dischargedate = tblclaims.dischargedate
inner join tblhospitals on tblhospitals.hospitalnpi = patient.hospitalnpi
where (tblhospitals.hospitalname = 'X')
) as Totals
, round(100*count(*)/cast((select count(distinct patient.patientid) from patient
inner join tblclaims on patient.patientid = tblclaims.patientid
and patient.admissiondate = tblclaims.admissiondate
and patient.dischargedate = tblclaims.dischargedate
inner join tblhospitals on tblhospitals.hospitalnpi = patient.hospitalnpi
where (tblhospitals.hospitalname = 'X')) as float),2) as binsPercent
from
(
select tblclaims.patientid, sum(claimsmedicarepaid) as TotalCosts,
cast(sum(claimsmedicarePaid)/10000 as int) as bin
from tblclaims inner join patient on patient.patientid = tblclaims.patientid
and patient.admissiondate = tblclaims.admissiondate
and patient.dischargedate = tblclaims.dischargedate
inner join tblhospitals on patient.hospitalnpi = tblhospitals.hospitalnpi
where tblhospitals.hospitalname = 'X'
group by tblclaims.patientid
) as t
group by bin with rollup
好的,所以對於任何可能將其用作參考的人,我都想出了我需要做的事情。
我將row_number() over(bin) as rownum
到查詢中,並將所有這些保存為視圖。
然后我用
SELECT *,
SUM(t2.binspercent) AS SUM
FROM t t1
INNER JOIN t t2 ON t1.rownum >= t2.rownum
GROUP BY t1.rownum,
t1.bins, t1.numbers, t1.uktotal, t1.binspercent
ORDER BY t1.rownum
通過加入t1.rownum> = t2.rownum,您可以獲得滾動計數之類的東西。
這並不是我一直在尋找的東西,但它在相同的軌道上: http : //blog.tallan.com/2011/12/08/sql-server-2012-windowing-functions-part-1-of- 2-running-and-sliding-aggregates /和http://blog.tallan.com/2011/12/19/sql-server-2012-windowing-functions-part-2-of-2-new-analytic-functions / -簽出PERCENT_RANK CUME_DIST PERCENTILE_CONT PERCENTILE_DISC
對不起the腳的回答
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.