【发布时间】:2020-04-05 03:42:47
【问题描述】:
我有一个MySQL 表,其定义如下:
mysql> desc person;
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | text | YES | | NULL | |
| fruits | json | YES | | NULL | |
+--------+---------+------+-----+---------+-------+
该表有一些示例数据如下:
mysql> select * from person;
+----+------+----------------------------------+
| id | name | fruits |
+----+------+----------------------------------+
| 1 | Tom | ["apple", "orange"] |
| 2 | John | ["apple", "mango"] |
| 3 | Tony | ["apple", "mango", "strawberry"] |
+----+------+----------------------------------+
如何计算每种水果的总出现次数?例如:
+------------+-------+
| fruit | count |
+------------+-------+
| apple | 3 |
| orange | 1 |
| mango | 2 |
| strawberry | 1 |
+------------+-------+
一些研究表明可以使用JSON_LENGTH 函数,但我找不到与我的场景类似的示例。
【问题讨论】:
-
你使用的是哪个mysql版本`?
-
@nbk MySQL 版本 8.0.18