命名直方图的区间

时间:2012-07-22 15:43:41

标签: sql sql-server-2008 tsql

此查询旨在生成二进制大小为50的直方图 enter image description here

因此,直方图这意味着有1013个对象的计数(*)在0到49之间。

我想让bin读起来像

0-49           1013
50-99          2147
100-149        1571

我的尝试并没有放弃做我需要的事情

select interval + ' - '+interval*50-1 as bin,count(*) as number from
(

select  count(tblclaims.patientid) as counts, count(tblclaims.patientid)/50 as interval 
from tblclaims
inner join patient on patient.patientid=tblclaims.patientid
and patient.admissiondate = tblclaims.admissiondate
and patient.dischargedate=tblclaims.dischargedate
group by tblclaims.patientid


) as t
group by interval
order by bin

我知道这会将interval + ' - '内容转换为varchar,但是当我尝试这些事情时,事情就变得糟糕了

1 个答案:

答案 0 :(得分:2)

如果唯一的问题是施放,你必须将每个数字部分分开:

select cast(interval*50 as nvarchar(max)) + '-' + cast(interval*50+49 as nvarchar(max))