關於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的應用之後在更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章