关于mysql存贮json与json中数据的求和计算

      mysql是关系型数据库,为了方便的记录更多的数据,现在工作中用的mysql记录得value是以json的形式记录的。

      例如:

      player_data表格结构是这样的:       

DROP TABLE IF EXISTS `player_data`;
CREATE TABLE `player_data` (
  `uid` bigint(20) NOT NULL COMMENT '用户ID',
  `data` json NOT NULL COMMENT '游戏数据,以json形式包含',
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

      player_data中玩家的数据是这样记录的:

      key:uid --- value:{"data": { "user_prize": 0}

      我需要计算所有玩家user_prize的总和,这样即可

select sum(data->"$.user_prize") from player_data where data->"$.user_prize" is not null

       mysql中存贮json,应用十分的强大,不仅可以存贮单层的key(如上),还可以可以存贮多层的key,关于多层key的应用之后在更新。

猜你喜欢

转载自blog.csdn.net/banfushen007/article/details/100898619