在哪里与拥有计算字段

时间:2012-05-09 19:30:53

标签: sql

我正在寻找一定年龄段人口中的所有人。我在下面尝试的查询给出了每个年龄的计数。例如。我正在寻找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)都没有用。

2 个答案:

答案 0 :(得分:3)

select count(*) as counts
from myTable
where datediff(yyyy,dob,admitdate) between 5 and 10

答案 1 :(得分:1)

  1. 删除group by子句
  2. having更改为where并删除count
  3. 不要选择age执行选择count(*)