题解 | #高级操作符练习(2)#
计算25岁以上和以下的用户数量
http://www.nowcoder.com/practice/30f9f470390a4a8a8dd3b8e1f8c7a9fa
三种写法:
SELECT IF(age<25 OR age IS NULL,'25岁以下','25岁及以上') as age_cut,COUNT(device_id) as Number
FROM user_profile
GROUP BY age_cut
#方法2:联合查询
SELECT '25岁以下' as age_cut,COUNT(device_id) as Number
FROM user_profile
WHERE age < 25 OR age IS NULL
UNION
SELECT '25岁及以上' age_cut,COUNT(device_id) Number
FROM user_profile
WHERE age >= 25
#方法3:CASE函数
SELECT CASE WHEN age >= 25 THEN '25岁及以上'
WHEN age < 25 OR age IS NULL THEN '25岁以下' #此句可直接改为:else '25岁以下'
END as age_cut,COUNT(*) as number
FROM user_profile
GROUP BY age_cut