【发布时间】:2021-03-06 22:31:07
【问题描述】:
我有一个返回一组有序文档键的查询。我需要从这个返回的数组中找到最小和最大键。
查询以返回文档键列表:
SELECT RAW META(d).id
FROM `orders` AS d
WHERE META(d).id LIKE 'order:%'
ORDER BY META().id LIMIT 5
输出:
[
order:1,
order:2,
order:3,
order:4,
order:5
]
我需要从数组中获取最小值,所以我使用以下查询:
SELECT RAW ARRAY_MIN(
SELECT RAW META(d).id
FROM `orders` AS d
WHERE META(d).id LIKE 'order:%'
ORDER BY META().id LIMIT 5)
)
为了获得最大值,我在上述查询中使用了 ARRAY_MAX 函数。
如您所见,我必须触发 2 个查询才能获得最小最大值。
问题:有没有一种方法可以在单个查询中从文档键数组中获取最小值和最大值?
【问题讨论】: