SQL 2005,
我有一个包含“ages_c”列的表,我需要按年龄范围对记录进行分组。
这是我在这个网站上找到的查询,它让我达到了 90%,但“分组依据”出错,*无效的列名“age_range”*
select
case
when age_c <18 then 'Under 18'
when age_c between 18 and 24 then '18-24'
when age_c between 25 and 34then '25-34'
END as age_range,
Count(*) as count
from contacts
group by age_range
order by age_range
当我按“age_c”分组和排序时,我的结果是:
Under 18 1
18-24 1
18-24 1
25-34 1
我想要的是:
Under 18 1
18-24 2
25-34 1
Thanks.
尝试用这种方法代替:
SELECT SUM(CASE WHEN age_c < 18 THEN 1 ELSE 0 END) AS [Under 18],
SUM(CASE WHEN age_c BETWEEN 18 AND 24 THEN 1 ELSE 0 END) AS [18-24],
SUM(CASE WHEN age_c BETWEEN 25 AND 34 THEN 1 ELSE 0 END) AS [25-34]
FROM contacts
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)