Merchant Center Query Language

판매자 센터 쿼리 언어 (MCQL)는 SQL과 유사한 쿼리 언어입니다. 나 Merchant Reports API와 함께 MCQL을 사용하여 다음을 수행할 수 있습니다. 제품 및 제품이 경쟁하고 있는 시장에 대한 실적 데이터를 검색할 수 있습니다.

문법

다음은 MCQL 문법 참조입니다 (정규 표현식 표기법).

Query            -> SelectClause FromClause? WhereClause? OrderByClause? LimitClause?
SelectClause     -> SELECT FieldName (, FieldName)*
FromClause       -> FROM TableName
WhereClause      -> WHERE Condition (AND Condition)*
OrderByClause    -> ORDER BY Ordering (, Ordering)*
LimitClause      -> LIMIT PositiveInteger

Condition        -> FieldName Operator Value | FieldName BETWEEN Value AND Value
Operator         -> = | != | > | >= | < | <= | <> | IN | NOT IN |
                    CONTAINS ANY | CONTAINS ALL | CONTAINS NONE | DURING |
                    LIKE | NOT LIKE | REGEXP_MATCH | NOT REGEXP_MATCH
Value            -> Number | NumberList | String | StringList | Function
Ordering         -> FieldName (ASC | DESC)?

FieldName        -> [a-z] ([a-zA-Z0-9._])*
TableName        -> [A-Z] ([a-zA-Z_])*

StringList       -> ( String (, String)* )
NumberList       -> ( Number (, Number)* )

PositiveInteger  -> [1-9] ([0-9])*
Number           -> -? [0-9]+ (. [0-9] [0-9]*)?
String           -> (' Char* ') | (" Char* ")
Function         -> LAST_14_DAYS | LAST_30_DAYS | LAST_7_DAYS |
                    LAST_BUSINESS_WEEK | LAST_MONTH | LAST_WEEK_MON_SUN |
                    LAST_WEEK_SUN_SAT | THIS_MONTH | THIS_WEEK_MON_TODAY |
                    THIS_WEEK_SUN_TODAY | TODAY | YESTERDAY

다음 기호를 사용할 수 있습니다.

  • ?는 선택적 요소를 나타냅니다.
  • *는 0 이상을 의미합니다. +는 하나 이상을 의미합니다.
  • (xxxxxx)는 그룹화를 나타냅니다.
  • [a-z0-9]는 문자 범위를 나타냅니다.
  • |는 '또는'을 의미합니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.

대소문자 구분

대부분의 MCQL 연산자는 대소문자를 구분합니다.

연산자 대소문자 구분
= 또는 != 대소문자 구분
인도(포함) 대소문자 구분
LIKE(추천 안 됨) 대소문자 구분
포함 (...) 대소문자 구분
REGEXP_MATCH 둘 다(선택사항)

조항

MCQL로 쿼리할 수 있는 절은 다음과 같습니다.

SELECT

SELECT 절은 쉼표로 구분된 필드 목록을 가져옵니다.

사용 중인 보기에서 입력란을 선택할 수 있습니다. 예시: 선택할 수 있는 필드:

단일 요청으로 여러 필드 유형을 쿼리할 수 있습니다. 예를 들면 다음과 같습니다.

SELECT
  date,
  marketingMethod,
  impressions,
  clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'

FROM

FROM 절은 요청에서 데이터를 가져올 테이블을 지정합니다. 다음과 같은 작업을 할 수 있습니다. FROM 절에 하나의 필드만 지정합니다. FROM 절은 다음 작업에 필요합니다. 지정할 수 있습니다

WHERE

WHERE 절을 사용하여 요청 데이터를 필터링합니다. WHERE 절 필수 속성인 쿼리를 사용합니다. 다음을 기준으로 필터링할 수 있습니다. segments 필드 또는 그리고 metrics 입력란을 사용할 경우 SELECT 절에서 지정합니다

다음은 WHERE를 사용하여 지정된 기간 (8월):

SELECT offerId, impressions
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'

AND 연산자를 사용하면 단일 쿼리에서 여러 조건별로 필터링할 수 있습니다. 완전한 조건 사이에는 AND을 사용합니다(예: WHERE marketingMethod != "ADS" AND marketingMethod != "ORGANIC"). AND는 단일 조건(예: WHERE marketingMethod != "ADS" AND "ORGANIC")

다음은 제품당 클릭수를 반환하는 예입니다. 한 달 동안 ADS 마케팅 방법의 클릭수 100회 초과 8월:

SELECT offerId, clicks
FROM ProductPerformanceView
WHERE clicks > 100
  AND marketingMethod = 'ADS'
  AND date BETWEEN '2020-08-01' AND '2020-08-31'

WHERE 절은 OR를 지원하지 않습니다. 연산자는 대소문자를 구분합니다. 전체 연산자 목록은 문법을 참고하세요.

ORDER BY (선택사항)

ORDER BY 절을 사용하면 지정된 순서로 결과를 검색할 수 있습니다.

fieldName로 순서를 지정한 후 ASC 또는 DESC를 지정합니다. 다음 기준으로만 주문할 수 있습니다. 쿼리의 SELECT 절에 지정된 필드 ORDER BY의 기본값은 다음과 같습니다. 지정하지 않으면 ASC입니다.

다음 쿼리는 반환된 행을 클릭수를 기준으로 가장 높은 수 최저로:

SELECT offerId, clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY clicks DESC

쉼표로 구분된 다음 행을 사용하여 ORDER BY 절에 여러 필드를 지정할 수 있습니다. 목록.

예를 들어 다음 쿼리의 결과는 다음을 기준으로 오름차순으로 정렬됩니다. offerId 다음 노출수 기준 내림차순 정렬, 내림차순 클릭수를 기준으로 정렬:

SELECT offerId, impressions, clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY
  offerId,
  impressions DESC,
  clicks DESC

LIMIT

LIMIT 절을 사용하면 반환할 결과 수를 지정할 수 있습니다.

다음은 더 많은 행을 사용할 수 있더라도 50개의 결과만 반환하는 예입니다.

SELECT offerId, impressions
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY impressions DESC
LIMIT 50

pageSize 필드를 사용하여 긴 결과 목록을 처리합니다.

기간

MCQL을 사용하면 맞춤 기간 또는 상대 기간을 지정할 수 있습니다. 먼저 모든 성능의 date 범위를 지정하는 WHERE 절 쿼리를 사용합니다.

커스텀

다음과 같은 형식으로 ISO 8601(YYYY-MM-DD) 날짜를 지정할 수 있습니다.

  • date BETWEEN '2021-01-01' AND '2021-01-31'
  • date >= '2021-01-01' AND date <= '2021-01-31'

작은따옴표 (') 또는 큰따옴표를 사용하여 날짜 문자열을 정의할 수 있습니다. (").

상대적

LAST_30_DAYS 또는 THIS_MONTH과 같이 상대적인 기간을 지정할 수 있습니다. BETWEENAND 대신 DURING 사용

WHERE date DURING LAST_30_DAYS

사용 가능한 상대 기간의 전체 목록은 문법을 참고하세요.