2017-03-01 4 views
0

各カテゴリからN個のレコードを取得するクエリを作成しようとしています。DocDBの各カテゴリのランダムNレコードを選択してください。

文書はこのような構造を持っていることを言うことができます:

  • イド - ユニークなID
  • カテゴリー - 文字列
  • タイプ - 文字列

今私は、このクエリを使用しています:

select top 20 * from c where c.category in ('category1','cateogory2') where type='type1'

where句を満たす各カテゴリから10レコードを取得できるようにしたい。

**私は私の理解に基づいてpydocumentdb

答えて

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の操作をサポートしていません。

私の経験によれば、可能な方法は、pydocumentdb経由でストアドプロシージャを呼び出すと、unionオペレーションを実装して、異なるパラメータ値を持つクエンリングコレクションの2つの結果セットに対して操作を実装することです。詳細については、公式チュートリアルDocumentDB server-side programming: Stored procedures, database triggers, and UDFsを参照してください。

関連する問題