我在 MySQL 数据库中有这些记录。在 JSON 类型列上。
Record1: {"images": ["image.jpeg", "image.jpeg"]}
Record2: {"images": ["image.jpeg", "image.jpeg", "image.jpeg"]}
Record3: {"images": ["image.jpeg"]}
如何通过 JSON 属性的键名称(在我的例子中为“images”)获取图像的总数?
我试图实现与运行下面的查询相同的效果,但从 images 键中计算数组项。
SELECT
`field`,
count( * ) AS total
FROM
`table_name`
WHERE
`condition`
GROUP BY
`something`
这会给你这个结果:
field total
------------------
field1 5
field2 2
我想要实现的目标:
field total
-----------------
images 6
表结构
表格数据
最佳答案
尝试:
SELECT
`type`,
SUM(
JSON_LENGTH(`media`, '$.images')
) `media`
FROM
`table_name`
GROUP BY
`type`;
参见dbfiddle .
关于php - 按键名称获取项目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53783263/