如何从mysql json字段中按值顺序提取字段

发布于 2025-01-14 13:27:12 字数 479 浏览 1 评论 0原文

| id | json_field |
| 1  | {"a": 1, "b" : 3, "c": 2, "d": -1} |

我想获取具有最小值的两个字段(我不确定我是否表达清楚),在本例中是a和<代码>d。

塞纳里奥: 给定一个字段,我想检查该字段是否在 json_field 中具有最小值的两个字段之一,并获取与此条件匹配的所有结果。

我想通过以下方式实现它: 按值对 json 进行排序,将其字段转换为数组,然后获取最后/前两个。 在我四处搜索之后,我找不到按值对 json 字段进行排序的方法。我被困住了。

顺便说一句,我使用的是 MySQL5.7。

| id | json_field |
| 1  | {"a": 1, "b" : 3, "c": 2, "d": -1} |

I want to get the two fields which have the smallest values(I not sure I am expressing clearly), in this case is a and d.

Senario:
given a field, I wanna check if this field is among the two fields which have smallest values in json_field, and fetch all results match this condition.

I wanna implement it by:
Sort json by value, convert it's fields to an array, and then get the last/first two one.
After I have searched around, I cannot find a way to sort json field by value. I am stuck.

BTW, I am using MySQL5.7.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文