此查询旨在生成二进制大小为50的直方图
因此,直方图这意味着有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,但是当我尝试这些事情时,事情就变得糟糕了
答案 0 :(得分:2)
如果唯一的问题是施放,你必须将每个数字部分分开:
select cast(interval*50 as nvarchar(max)) + '-' + cast(interval*50+49 as nvarchar(max))