栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

数据离散化SQL

数据离散化SQL

文章目录

场景CASE WHEN除法,取整,均匀划分区间

场景

年龄分段统计HIVE实现

-- 造数据
CREATE VIEW customer(name,age) AS
SELECt 'a',18 UNIOn ALL
SELECT 'b',14 UNIOn ALL
SELECT 'c',22 UNIOn ALL
SELECT 'd',23 UNIOn ALL
SELECT 'e',30 UNIOn ALL
SELECT 'f',18;
SELECT * FROM customer;
CASE WHEN

按规则划分年龄段

WITH
discretization_age AS(
    SELECt CASE
        WHEN age>=0 AND age<18 THEN '[0,18)'
        WHEN age>=18 AND age<23 THEN '[18,23)'
        WHEN age>=23 AND age<30 THEN '[23,30)'
        WHEN age>=30 AND age<40 THEN '[30,40)'
        WHEN age>=40 THEN '[40,+∞)'
    END section
    FROM customer
)
SELECt section,COUNT(1)cnt FROM
discretization_age
GROUP BY section;
除法,取整,均匀划分区间

每5年划分一个年龄段

WITH
discretization_age AS(
    SELECt (age div 5)a
    FROM customer
)
SELECt CONCAT('[',a*5,',',a*5+5,')')section,COUNT(1)cnt FROM
discretization_age
GROUP BY a;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/707862.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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