MySQL,json数据类型,返回有限数量的结果

时间:2017-06-21 15:53:12

标签: mysql json

假设我有一个看起来像这样的json字段

{
   "unknownkey":{..},
   "unknownkey":{..},
   "unknownkey":{..},
}

对于特定用户,我可以轻松地使用此字段进行CRUD,而无需借助mysql的json搜索功能,因为未知密钥包含用户ID(因而变为已知)。我可以通过路径来定位它。

我遇到的问题是从中得到通用结果。

1)当密钥未知时,我如何从中获取第一个结果?

2)如何限制结果数量?说,我只想要25个结果,而不是整个json文档(可能是大量的)。

3)如果我想要NEXT 25结果(又名25-50)怎么办。

对于(1),我尝试将mysql变量设置为类似

的变量
@test = JSON_KEYS(fieldname, '$')[0]

然后将其插入我的参考

fieldname->'$.[@test]'

类似的东西,有不同的变化,无法让它发挥作用。我也不喜欢这种类型的选择,似乎应该有一个更简单的方法。

对于(2)和(3),我已经搜索https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html,似乎无法在任何地方找到它。

感谢任何帮助/想法!

1 个答案:

答案 0 :(得分:0)

只是一个FYI,MySQL 8有解决方案(对未知数量的对象数组有很好的支持),所以查看MySQL 8文档。我相信最新的里程碑版本已经在那里发布了,但是发布还为时尚早,不能被认为是稳定的。