mysql数据库

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

2022-01-11  本文已影响0人  Geroge1226

1、场景:

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

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

2、实现

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

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

-- {"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
上一篇下一篇

猜你喜欢

热点阅读