栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL CASE THEHEN THEN时为空

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL CASE THEHEN THEN时为空

您需要一个年龄表来填充没有匹配行的条目的结果。这可以通过实际表完成,也可以通过子查询动态生成,如下所示:

SELECt a.ageband, IFNULL(t.agecount, 0)FROM (  -- ORIGINAL QUERY  SELECt    CASE      WHEN age IS NULL THEN 'Unspecified'      WHEN age < 18 THEN '<18'      WHEN age >= 18 AND age <= 24 THEN '18-24'      WHEN age >= 25 AND age <= 30 THEN '25-30'      WHEN age >= 31 AND age <= 40 THEN '31-40'      WHEN age > 40 THEN '>40'    END AS ageband,    COUNT(*) as agecount  FROM (SELECt age FROM Table1) t  GROUP BY ageband) tright join (  -- TABLE OF POSSIBLE AGEBANDS  SELECT 'Unspecified' as ageband union  SELECT '<18' union  SELECT '18-24' union  SELECT '25-30' union  SELECT '31-40' union  SELECT '>40') a on t.ageband = a.ageband

演示:http ://www.sqlfiddle.com/#!2/
7e2a9/10



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634565.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号