【发布时间】:2020-11-10 05:40:22
【问题描述】:
Mysql版本为8.0.18-commercial
我编写了以下查询,显示来自details 列的结果
select details from table t1;
Output:
[
{
"Msg": "Job Running",
"Task": "IN_PROGRESS",
"Date": "2020-07-20 16:25:15",
},
{
"Msg": "Job failed",
"Task": "IN_PROGRESS",
"Date": "2020-07-20 16:35:24",
}
]
我只想要 Msg 值来自具有最新 Date 的最后一个元素
我想要的输出是显示带有latest date 的元素的Msg :
ColumnName ColumnValue
Msg Job failed
我写了以下查询,但它给出了null 输出
select details->>"$.Msg" from table t1;
【问题讨论】:
-
所以stackoverflow.com/questions/39906435/… 了解如何将 JSON 数组转换为行。然后您可以使用stackoverflow.com/questions/7745609/… 获取具有最新值的行。
-
你想要最后一个数组元素的消息,还是最新日期元素的消息?
-
我想要最新日期元素的消息
-
出于好奇,您为什么将其存储为 JSON?如果您以正常方式存储它会更容易,每个数组成员在一行中,每个对象字段在正常列中。在大多数情况下,将 JSON 用于此类结构数据会使查询 SQL 数据库中的数据变得更困难。
-
我正在从 mongo 集合中迁移数据,它可以以 JSON 文档的形式迁移
标签: mysql sql arrays json join