쿼리 구조

측정항목 및 세그먼트 필드에 대한 쿼리를 reports.search 메서드로 전송할 수 있습니다. 판매자 센터 쿼리 언어로 쿼리를 작성하려면 먼저 언어 문법을 사용하여 쿼리를 작성해야 합니다. 쿼리는 다음과 같은 여러 절로 구성됩니다.

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

절은 필드 이름, 테이블 이름, 연산자, 조건, 순서를 사용하여 원하는 데이터를 선택하는 데 도움을 줍니다. 단일 쿼리로 결합되면 Google Content API for Shopping을 사용하여 요청할 수 있습니다. 각 절을 어떻게 사용할 수 있는지 살펴보겠습니다

조항

SELECT

SELECT 절은 요청에서 가져올 필드 집합을 지정합니다. SELECT는 쉼표로 구분된 세그먼트 필드와 측정항목 목록을 가져와 응답으로 값을 반환합니다. SELECT 절은 쿼리에서 필수입니다.

다음은 지정된 테이블에서 클릭 측정항목을 선택하는 샘플 쿼리입니다.

SELECT
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

단일 요청에서 다양한 필드 유형을 쿼리할 수도 있습니다.

SELECT
  segments.date,
  segments.program,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
  • 세그먼트 필드

    • segments.date
    • segments.program
  • 측정항목

    • metrics.impressions
    • metrics.clicks

일부 필드는 다음과 같은 제한사항으로 인해 SELECT 절에서 허용되지 않습니다.

  • 하나 이상의 측정항목 필드가 없는 세그먼트 필드를 쿼리합니다.

위 상태와 관련된 정보는 참조 문서에서 확인할 수 있습니다.

FROM

FROM 절은 요청에서 데이터를 가져올 테이블을 지정합니다. FROM 절의 표는 지정된 쿼리에 대해 다른 모든 절에서 사용할 수 있는 필드를 정의합니다. FROM 절에는 단일 테이블만 지정할 수 있습니다. 현재는 MerchantPerformanceView 표만 지원됩니다. FROM 절은 reports 서비스의 search 메서드에 대한 쿼리에서 필수입니다.

WHERE

WHERE 절은 요청의 데이터를 필터링할 때 적용할 조건을 지정합니다. WHERE 절을 사용하는 경우 AND를 사용하여 하나 이상의 조건을 지정하여 조건을 구분할 수 있습니다. 각 조건은 field_name Operator value 패턴을 따라야 합니다. 세그먼트 필드는 WHERE 절에서 사용할 수 있지만, 측정항목 필드를 SELECT 절에 지정해야 WHERE 절에 사용할 수 있습니다. 성능 데이터를 반환하려는 기간을 항상 지정해야 하므로 WHERE 절은 쿼리에서 필수입니다.

다음은 WHERE를 사용하여 지정된 기간의 측정항목을 반환하는 예입니다.

SELECT
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

여러 조건을 조합하여 데이터를 필터링할 수 있습니다. 이 예에서는 지정된 30일 기간 내에 클릭수가 100을 초과하는 SHOPPING_ADS 프로그램의 제품당 클릭수를 반환합니다.

SELECT
  segments.offer_id,
  segments.program,
  metrics.clicks
FROM MerchantPerformanceView
WHERE metrics.clicks > 100
  AND segments.program = SHOPPING_ADS
  AND segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’;

다음 쿼리에서 segments.date이 선택된 것을 확인할 수 있습니다. segments.date 선택 여부에 관계없이 성능 데이터를 검색하려면 항상 WHERE 절에 한정된 기간을 제공해야 합니다.

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

필터링할 때 연산자의 대소문자 구분에 유의해야 합니다.

연산자의 전체 목록은 언어 문법을 참조하세요.

ORDER BY

ORDER BY 절은 결과가 반환되는 순서를 지정합니다. 이렇게 하면 필드 이름을 기준으로 데이터를 오름차순 또는 내림차순으로 정렬할 수 있습니다. 각 순서는 field_name 다음에 ASC 또는 DESC로 지정됩니다. ASCDESC 중 어느 것도 지정되지 않은 경우 순서는 기본적으로 ASC가 됩니다. SELECT 절에 지정된 필드만 ORDER BY 절에 사용할 수 있습니다. ORDER BY 절은 쿼리에서 선택적입니다.

다음 쿼리는 반환된 행을 클릭수 기준으로 내림차순으로 정렬합니다.

SELECT
  segments.offer_id,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC

쉼표로 구분된 목록을 사용하여 ORDER BY 절에 여러 필드를 지정할 수 있습니다. 정렬은 쿼리에 지정된 것과 동일한 순서로 발생합니다. 예를 들어 이 쿼리에서 결과는 offer_id에 따라 오름차순으로 정렬된 다음 노출수를 기준으로 내림차순으로 정렬된 다음 클릭수에 따라 내림차순으로 정렬됩니다.

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY
  segments.offer_id,
  metrics.impressions DESC,
  metrics.clicks DESC

LIMIT

LIMIT 절을 사용하면 반환할 결과 수를 지정할 수 있습니다. 이는 요약에만 관심이 있을 때 유용합니다.

예를 들어 LIMIT를 사용하여 다음 쿼리의 총 결과 수를 제한할 수 있습니다.

SELECT
  segments.program,
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.impressions DESC
LIMIT 50