0

此查询旨在制作 bin 大小为 50 的直方图。
在此处输入图像描述

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

我想让垃圾箱读起来像

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,但是当我尝试这样做时,事情就变得不正常了

4

1 回答 1

2

如果唯一的问题是铸造,您必须将每个数字部分分开:

select cast(interval*50 as nvarchar(max)) + '-' + cast(interval*50+49 as nvarchar(max))
于 2012-07-22T15:53:38.470 回答