Cette requête est conçue pour faire un histogramme avec des tailles de bacs de 50.
Nommer les bacs d'histogramme
Alors que histogrammes vont, cela signifie qu'il ya 1013 objets avec un compte (*) entre 0 et 49 .
Je voudrais faire le bac lire comme
0-49 1013
50-99 2147
100-149 1571
Ma tentative est d'arrêter de ne pas faire ce que je dois
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
Je sais que cela va avoir jeté les choses interval + ' - '
comme varchar, mais quand j'ai essayé que les choses se sont ainsi détraqué
Vous devez remplacer count (tblclaims.patientid) avec simplement tblclaims.patientid. L'utilisation d'une fonction d'agrégation sur un champ utilisé par un groupe est plutôt inhabituelle. Cela ne casse pas la requête, mais cela la rend plus difficile à comprendre. –
@GordonLinoff merci pour la perspicacité. – wootscootinboogie