1

我正在寻找某个年龄之间人口中的所有人。我在下面尝试的查询给出了每个年龄的计数。例如,我正在寻找 5-10 年,查询给了我每个年龄的计数,而不是返回单个数字

select datediff(yyyy,dob,admitdate) as age, count(datediff(yyyy,dob,admitdate) as counts
from myTable
group by datediff(yyyy,dob,admitdate)
having (count(datediff(yyyy,dob,admitdate) between 5 and 10)

这是不正确的,但我尝试过的事情(比如删除 HAVING 和使用 WHERE)没有奏效。

4

2 回答 2

3
select count(*) as counts
from myTable
where datediff(yyyy,dob,admitdate) between 5 and 10
于 2012-05-09T19:34:23.200 回答
1
  1. 删除group by子句
  2. 更改havingwhere并删除count
  3. 不要选择age选择count(*)
于 2012-05-09T19:34:29.097 回答