SQL中CASE WHEN THEN的用法

table表中2个字段agename20aa30bb35cc40dd50ee70ff使用SQL语句查询得到结果如下:年龄段数目青年1中年3老年2注:年龄小于30为青年,3... table表中2个字段age name20 aa30 bb35 cc40 dd50 ee70 ff使用SQL语句查询得到结果如下:年龄段 数目青年 1中年 3老年 2注:年龄小于30为青年,31到49为中年,50以上为老年。请问SQL语句怎么写? 展开
 我来答
匿名用户
推荐于2018-05-10
展开全部
select a,count(*) from
(select a=case when age<30 then '青年' --查询age <30的为青年,“青年”直接赋给a
when age>=30 and age<50 then '中年'
when age>=50 then '老年' end
from test --括号里查出每条记录中对应年龄段属于哪个值 )
a_test --将查出的值 放到 a_test中去
group by a --按a_test 中的字段 a 分组统计数据
匿名用户
2013-07-12
展开全部
给你一个参考。我相信你看了后就知道应该如何处理了。有表student(id,name,score)根据分数列(score)每10分为一段,查询每段分数的人数。
SELECT a, COUNT(*)
FROM (SELECT a = CASE WHEN score >= 0 AND
score < 10 THEN '0-9' WHEN score >= 10 AND
score < 20 THEN '10-19' WHEN score >= 20 AND
score < 30 THEN '20-29' WHEN score >= 30 AND
score < 40 THEN '30-39' WHEN score >= 40 AND
score < 50 THEN '40-49' WHEN score >= 50 AND
score < 60 THEN '50-59' WHEN score >= 60 AND
score < 70 THEN '60-69' WHEN score >= 70 AND
score < 80 THEN '70-79' WHEN score >= 80 AND
score < 90 THEN '80-89' WHEN score >= 90 AND
score < 100 THEN '90-99' ELSE '100' END
FROM student) a
GROUP BY a
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-06-23
展开全部
select 年龄段,count(num) as nums from
(select '年龄段'=(case when age<30 then '青年' when age>=30 and age<50 then '中年' else '老年' end),count(*) as num from tage group by age) as a
group by 年龄段
你把你的sql语句这样改试试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毋恕延月
2020-04-15 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:34%
帮助的人:792万
展开全部
select
a,count(*)
from
(
select
a=case
when
age<30
then
'青年'
--查询age
<30的为青年,“青年”直接赋给a
when
age>=30
and
age<50
then
'中年'
when
age>=50
then
'老年'
end
from
test
--括号里查出每条记录中对应年龄段属于哪个值
)
a_test
--将查出的值
放到
a_test中去
group
by
a
--按a_test
中的字段
a
分组统计数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9d41c53
2017-06-20 · TA获得超过489个赞
知道小有建树答主
回答量:359
采纳率:73%
帮助的人:211万
展开全部
select case when age<30 then N'青年' when age between 30 and 49 then N'中年' else N'老年' end  as [年龄段],count(name) as [数目] from table
group by case when age<30 then N'青年' when age between 30 and 49 then N'中年' else N'老年' end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式