Skip to main content

orderBy InputObject

각 Cube는 ascendingdescending 필드를 가진 {Cube}OrderBy 입력 객체를 생성합니다. 각 필드는 차원 경로를 밑줄로 이은 CompareFields enum 값을 받습니다:
중첩 차원은 레벨마다 이어 붙입니다:
사용 예:

자주 쓰는 CompareFields 값

GraphQL IDE 자동완성으로 Cube별 사용 가능한 모든 CompareFields 값을 확인하세요 — orderBy: {descending: 까지 입력하면 IDE가 필드를 보여 줍니다.

사용법

descending 또는 ascending 중 하나에 CompareFields 값을 넣은 orderBy 입력 객체를 전달합니다:
orderBy한 쌍(방향·필드)만 받습니다. 다중 컬럼 정렬은 지원되지 않으며, 한 번에 하나의 차원으로만 정렬됩니다.

limit 인자

limit 인자는 반환 행 수를 제어하며 offset 기반 페이지네이션을 지원합니다:

기본값과 최대값

각 Cube에는 limit 를 생략할 때 적용되는 기본 limit와 최대 상한이 있습니다:
요청한 count 가 최대를 넘으면 서버는 조용히 최대값으로 잘라 냅니다.

Offset 기반 페이지네이션

offset 으로 결과 집합을 페이지 넘깁니다. 패턴은 단순합니다:
  • 1페이지: limit: { count: 50, offset: 0 }
  • 2페이지: limit: { count: 50, offset: 50 }
  • 3페이지: limit: { count: 50, offset: 100 }

예: 토큰 홀더 페이지네이션

페이지네이션 팁

정렬 순서가 고정되지 않으면 페이지 사이에서 행이 밀릴 수 있습니다. limit 은 결정적 순서를 만드는 orderBy 와 함께 쓰세요.
offset 이 매우 크면(예: 50,000+) DB가 행을 스캔·건너뛰어야 해 성능이 나빠질 수 있습니다. 매우 큰 데이터셋에서는 깊게 페이지 넘기기보다 where 로 쿼리를 좁히세요.
한 페이지에서 요청한 count 보다 적은 행이 오면 데이터 끝에 도달한 것입니다. 또는 미리 count 메트릭 필드로 전체 행 수를 구할 수 있습니다.

실전 예시

최근 대형 거래

Solana에서 매수 가치가 $10,000를 넘는 가장 최근 DEX 거래 10건:

OHLC 캔들 — 최근 60분

토큰의 1분봉을 시간순으로 가져오기:

상위 50 토큰 홀더

USD 잔액 기준 상위 50명 홀더:

다음 단계

필터링

정렬과 필터를 조합해 정밀한 분석 쿼리를 만듭니다.

메트릭 및 집계

count, sum, avg, min, max, uniq 로 정렬된 데이터를 집계합니다.