SQL入门题解 | #查看不同年龄段的用户明细#
查看不同年龄段的用户明细
https://www.nowcoder.com/practice/ae44b2b78525417b8b2fc2075b557592
# # 方法1:使用CASE WHEN搜索
# select device_id,gender,
# case
# when age between 20 and 24 then '20-24岁'
# when age>=25 then '25岁及以上'
# when age<20 then '20岁以下'
# else '其他'
# end as age_cut
# from user_profile;
# 方法二
select device_id, gender,
if(age >= 25,'25岁及以上',
if(age >=20 and age<=24 ,'20-24岁',
if(age >= 0,'20岁以下','其他')))
as age_cut
from user_profile
# ×方法2:使用UNION ALL 不可以
# 报错:你期望输出的第 1 至 7 行与实际输出的第 1 至 7 行有不同
# UNION ALL 是把每个抽出来的 再从上到下排列
# 预期 是按照原表中的device_id输出 所以顺序不对 不能用Union all
/*select device_id,gender,'20岁以下' as age_cut
from user_profile where age <20
union all
select device_id,gender,'20-24岁' as age_cut
from user_profile where age>=20 and age<=24
union all
select device_id,gender,'25岁及以上' as age_cut
from user_profile where age>=25
union all
select device_id,gender,'其他' as age_cut
from user_profile where age is NULL*/
查看2道真题和解析
安克创新 Anker公司福利 778人发布