【发布时间】:2018-05-08 13:31:25
【问题描述】:
我的 mysql 数据库中有一个名为“months”的 JSON 数据类型列。
这是一行的“月”样本值:{“2018Apr”:“2500”、“2018Jun”:“9000”、“2018May”:“4000”、“enddate”:“2018-06- 14T18:30:00.000Z", "开始日期": "2018-04-26T18:30:00.000Z"}。
“months”列的“enddate”和“startdate”以外的所有键都可以变化(即“startdate”和“enddate”将始终存在于 JSON 中)。我想运行一个选择查询来获取该列中的所有值,不包括“startdate”和“enddate”键及其值。
即选择查询的预期输出:- {"2500","9000", "4000"}
不幸的是,我能得到的最好结果是所有键的值导致:- {“2500”、“9000”、“4000”、“2018-06-14T18:30:00.000Z”、“2018-04-26T18:30:00.000Z”}
这是我使用的查询:-
SELECT `months` -> '$.*'
from `Project`
where `pId` ="6d43c24f-b258-4b75-8524-26873c643748"
AND `creationTime` IN (SELECT MAX(`creationTime`) FROM `Project` GROUP BY `id`);
MySql 文档包含基于 JSON 值而非键进行过滤的信息。非常感谢任何帮助。
【问题讨论】: