add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
SELECT VERSION();
VERSION()
8.0.36
DROP TABLE IF EXISTS `TAG_COUNTER`;
CREATE TABLE IF NOT EXISTS `TAG_COUNTER` (
`account` VARCHAR(36) NOT NULL,
`time_id` INT NOT NULL,
`counters` JSON,
PRIMARY KEY (`account`, `time_id`)
);
INSERT INTO `TAG_COUNTER`
(`account`, `time_id`, `counters`)
VALUES
('google', '20180510', '{"gmail_page_viewed": 1, "search_page_viewed": 50}'),
('google', '20180510', '{"gmail_page_viewed": 1, "search_page_viewed": 50}'),
('google', '20180511', '{"gmail_page_viewed": 1, "search_page_viewed": 100}'),
('google', '20180511', '{"gmail_page_viewed": 1, "search_page_viewed": 100}'),
('google', '20180511', '{"gmail_page_viewed": 1, "search_page_viewed": 100}')
ON DUPLICATE KEY UPDATE `counters` =
JSON_SET(`counters`,
'$."gmail_page_viewed"',
IFNULL(`counters` ->> '$."gmail_page_viewed"', 0) + 1,
'$."search_page_viewed"',
IFNULL(`counters` ->> '$."search_page_viewed"', 0) + 1
);
Records: 5  Duplicates: 3  Warnings: 0
SELECT
`account`,
`time_id`,
`counters`
FROM
`TAG_COUNTER`;
account time_id counters
google 20180510 7b22676d61696c5f706167655f766965776564223a20322e302c20227365617263685f706167655f766965776564223a2035312e307d
google 20180511 7b22676d61696c5f706167655f766965776564223a20332e302c20227365617263685f706167655f766965776564223a203130322e307d