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*/