zoukankan      html  css  js  c++  java
  • hive sql基础了解

       会有些不一样

      1 例如使用SQL 之前,要了解用了那个库,use jz_daojia

      2 使用GET_JSON_OBJECT 函数等,以及参数 匹配 $.childBrithDay

       挺有意思的。新玩意哦

    --odps sql 
    --********************************************************************--
    --author:jz_admin
    --create time:2019-11-11 10:14:49
    --********************************************************************--
    -- 这是什么意思?
    -- 获取线索id,以及线索标签。
    use jz_daojia;
    SELECT  a.id
            ,CONCAT_WS(',', COLLECT_SET(b.dict_value)) AS clue_labels
    FROM    (
                SELECT  a.id
                        ,b.clue_label
                FROM    (
                            SELECT  a.id
                                    ,GET_JSON_OBJECT(a.prop, '$.busSnapshotDto.clueLable') clue_label
                            FROM    o_jz_clue_t_sale_clue a
                            WHERE   dt = '${bdp.system.bizdate}'
                        ) a
                LATERAL VIEW EXPLODE(SPLIT(clue_label, ',')) b AS clue_label
            ) a LEFT
    JOIN    (
                SELECT  *
                FROM    o_jz_clue_t_dict
                WHERE   dt = '${bdp.system.bizdate}'
                AND     type IN ('target_unconform_label', 'clue_label','target_conform_label')
            ) b
    ON      a.clue_label = b.dict_key
    GROUP BY a.id;
    
    -- 获取
    
    SELECT  a.*
            ,GET_JSON_OBJECT(a.prop, '$.busSnapshotDto.clueLable') clue_label
            ,GET_JSON_OBJECT(
                GET_JSON_OBJECT(prop,'$.busSnapshotDto')
                ,'$.childBrithDay'
            ) AS childbrithday
            ,CASE    WHEN a.category_id = 205 THEN '月嫂'
                     WHEN a.category_id = 270 THEN '育儿嫂'
                     WHEN a.category_id = 212 THEN '保姆' 
                     ELSE '其他' 
             END AS category_name
    FROM    o_jz_clue_t_sale_clue a
    WHERE   dt = '${bdp.system.bizdate}'
    AND     delete_flag = 0
    AND     source_id != 100000680

    基础的GET_JSON_OBJECT函数运用:

    --odps sql 
    --********************************************************************--
    --author:jz_admin
    --create time:2019-11-11 14:27:08
    --********************************************************************--
    获取职员的职业。
    use jz_daojia; SELECT us.* , GET_JSON_OBJECT(us.additional_info,'$.jobTitle') as title_s FROM d_sys_user as us WHERE us.name LIKE "喜" LIMIT 10 ;
  • 相关阅读:
    Influx Sql系列教程一:database 数据库
    Influx Sql系列教程零:安装及influx-cli使用姿势介绍
    移动端/H5关于cursor:pointer导致的问题
    onselectstart="return false"
    js正则验证之不能使用相同字符
    js通过sessionStorage实现的返回上一页
    MetaHandler.js:移动端适配各种屏幕
    iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案
    js判断三个数字中的最大值
    js判断微信浏览器
  • 原文地址:https://www.cnblogs.com/sakura3/p/11833872.html
Copyright © 2011-2022 走看看