目前正在努力寻找诊断出的疾病,这些疾病已经被诊断了0到2次。我能够显示每种疾病被诊断了多少次,包括0,但一旦我试图查看计数为0-2的疾病,我的查询就不起作用了。
这将获得计数(包括0):
select disease.name, count(diagnosed.diseaseid) as timesdiagnosed
from disease
left join diagnosed on disease.diseaseid = diagnosed.diseaseid
group by disease.name;
这个代码不起作用:
select disease.name, count(diagnosed.diseaseid) as timesdiagnosed
from disease
left join diagnosed on disease.diseaseid = diagnosed.diseaseid
group by disease.name
order by disease.name
having count(diagnosed.diseaseid) <= 2;
我的RDMBS是神谕。
发布于 2015-04-29 00:48:46
having
子句应该放在order by
之前和group by
之后
select disease.name, count(diagnosed.diseaseid) as timesdiagnosed
from disease
left join diagnosed on disease.diseaseid = diagnosed.diseaseid
group by disease.name
having count(diagnosed.diseaseid) <= 2
order by disease.name
https://stackoverflow.com/questions/29932344
复制相似问题