판매자 센터 쿼리 언어 (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
과 같이 상대적인 기간을 지정할 수 있습니다.
BETWEEN
및 AND
대신 DURING
사용
WHERE date DURING LAST_30_DAYS
사용 가능한 상대 기간의 전체 목록은 문법을 참고하세요.