gpt4 book ai didi

mysql - 让 MySQL 返回本身包含某些值的 JSON 键

转载 作者:行者123 更新时间:2023-11-30 21:42:32 25 4
gpt4 key购买 nike

我试图解决的问题是让 MySQL 查询返回 JSON 中的键,其值为“stage”:“Functioning”。一段时间以来,我一直在尝试解决这个问题,但找不到解决方案。

值得补充的是,数据库表中将有多个 JSON。

其中一个JSON如下:

{
"1493510400":{
"stage":"Resting",
"dateAltered":"true"
},
"1508716800":{
"stage":"Functioning",
"dateAltered":"true"
},
"1522713600":{
"stage":"Functioning",
"dateAltered":"true",
"stageAltered":"true"
},
"1537315200":{
"stage":"Functioning",
"stageAltered":"true"
},
"1551916800":{
"stage":"Resting",
"stageAltered":"true"
},
"1566518400":{
"stage":"Resting",
"stageAltered":"true"
},
"1581120000":{
"stage":"Functioning"
},
"1595721600":{
"stage":"Resting"
}
}

每个级别都有一个时间戳作为其键。在每个级别中,“阶段”总会有一个值。这些只会永远处于休息状态或功能状态。从这里开始,我需要创建一个查询,该查询将返回所有值为“stage”:“Functioning”的键(时间戳)。

我的 SELECT JSON_KEYS(field_value) 工作正常,它返回一个时间戳数组,但是当我尝试添加一些 WHERE 语句时,它无法返回任何东西。

我试过的一些查询是:

  • SELECT JSON_KEYS(field_value) WHERE JSON_EXTRACT(field_value, '$*.stage') = 'Functioning'
  • SELECT JSON_KEYS(field_value) WHERE JSON_CONTAINS(field_value, '{"stage":"Functioning"}', '$.stage')

我知道我在这里可能是个白痴,所以如果这对人们来说是浪费时间,我深表歉意,但我现在完全被难住了。

我想在 MySQL 中实现的目标是否可行?

我当前的 MySQL 版本是 5.7.22

谢谢

最佳答案

恐怕您的版本不支持该功能。如果可以升级到MySQL 8.0.11,可以使用JSON_TABLE , JSON_SEARCH 或类似的东西,具体取决于您的个人情况(老实说,根据您的帖子,您完全不知道您想要实现什么)。

关于mysql - 让 MySQL 返回本身包含某些值的 JSON 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50926980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com