美文网首页mysql数据库
mysql 中截取json对象中特定数据

mysql 中截取json对象中特定数据

作者: Geroge1226 | 来源:发表于2022-01-11 17:20 被阅读0次

    1、场景:

    业务中存在一张视频数据库表,其中,关于点赞数、下载数、评论数等以JSON字符串对象存放在statistic字段下。部分表字段截图如下:

    数据库表
    业务需求:制作sql报表,查询出每个视频的各项数据。
    image.png

    2、实现

    使用sql处理时需要截取JSON对象中某一项值,这里使用JSON_EXTRACT 函数。

    函数作用:截取数据库中指定字段中存储的json数据中的某个字段对应的值
    语法:JSON_EXTRACT(JSON字符串,$.特定项)

    • 需求实现sql语句
    -- {"share_count":1,"comment_count":1,"digg_count":7,"download_count":0,"forward_count":0,"play_count":0}
    select 
        JSON_EXTRACT(a.statistic, '$.share_count') AS share_count, 
        JSON_EXTRACT(a.statistic, '$.comment_count') AS comment_count,
        JSON_EXTRACT(a.statistic, '$.digg_count') AS digg_count,
        JSON_EXTRACT(a.statistic, '$.download_count') AS download_count,
        JSON_EXTRACT(a.statistic, '$.forward_count') AS forward_count,
        JSON_EXTRACT(a.statistic, '$.play_count') AS play_count   
    FROM douyin_video_data a
    
    • 效果如图
    image.png

    相关文章

      网友评论

        本文标题:mysql 中截取json对象中特定数据

        本文链接:https://www.haomeiwen.com/subject/ypzbcrtx.html