orderBy InputObject
各 Cube は{Cube}OrderBy 入力オブジェクトを生成し、ascending と descending フィールドを持ちます。各フィールドはディメンションパスをアンダースコアでつないだ CompareFields 列挙値を受け取ります:
よく使う CompareFields の値
使い方
descending または ascending のどちらか一方に CompareFields の値を指定した orderBy 入力オブジェクトを渡します:
orderBy は1 組の方向/フィールドのみ受け付けます。複数列ソートはサポートされず、一度に 1 ディメンションで並べ替えます。limit 引数
limit 引数は返す行数を制御し、オフセットベースのページネーションをサポートします:
既定値と最大値
各 Cube にはlimit を省略したときの既定の件数と、最大の上限があります:
要求した
count が最大を超える場合、サーバーは黙って最大値に切り詰めます。オフセットベースのページネーション
offset で結果セットをページングします。パターンは次のとおりです。
- ページ 1:
limit: { count: 50, offset: 0 } - ページ 2:
limit: { count: 50, offset: 50 } - ページ 3:
limit: { count: 50, offset: 100 }
例: トークン保有者のページング
- ページ 1
- ページ 2
ページネーションのヒント
ページネーションには常に orderBy を付ける
ページネーションには常に orderBy を付ける
安定した並び順がないと、ページ間で行がずれることがあります。決定的な順序になるよう、常に
limit と orderBy を組み合わせてください。深い offset は避ける
深い offset は避ける
大きな
offset(例: 50,000 以上)は、DB がスキャンしてスキップするため性能が落ちることがあります。非常に大きなデータセットでは、深くページングするより where でクエリを狭めてください。count で結果の終端を判定する
count で結果の終端を判定する
1 ページの行数が要求した
count より少なければ、データセットの終端に達しています。別法として、事前に総行数を得る count メトリクスフィールドも使えます。実践例
直近の大口取引
Solana で買い価値が 10,000 ドル超の、直近 10 件の DEX 取引を取得:OHLC ローソク — 直近 60 分
トークンの 1 分足を時系列で取得:トップ 50 保有者
USD 残高でソートした上位 50 保有者:次のステップ
フィルタリング
並び順とフィルターを組み合わせて、精密な分析クエリを構築します。
メトリクスと集計
count、sum、avg、min、max、uniq で並べたデータを集計します。

