我试图撰写一个查询,从而为每个类别带来N条记录。
假设文档具有以下结构:
现在我正在使用此查询:
select top 20 * from c where c.category in ('category1','cateogory2') where type='type1'
我希望能够从满足where
子句的每个类别中获取10条记录。
**我使用的是pydocumentdb
答案 0 :(得分:1)
根据我的理解,似乎对您的需求的简单查询如下所示。
select top 10 * from c where c.category = 'category1' and type='type1'
union
select top 10 * from c where c.category = 'category2' and type='type1'
但是到目前为止,Azure DocumentDb并不支持union
操作。
根据我的经验,可能的方法是创建一个存储过程来为两个使用不同参数值查询集合的结果集实现union
操作,然后通过pydocumentdb
调用存储过程。请参阅官方教程DocumentDB server-side programming: Stored procedures, database triggers, and UDFs以了解更多详细信息。