쿼리 구조 및 절

쿼리는 여러 개의 절(SELECT, FROM, WHERE, ORDER BY, LIMIT, 및 PARAMETERS

절에서는 필드 이름, 리소스 이름, 연산자, 조건, 단일 쿼리 요청으로 결합되는 주문을 수행할 수 있습니다

쿼리를 작성하려면 기본적으로 다음과 같이 하면 됩니다.

  • 데이터를 검색할 리소스를 지정합니다.
  • 필드와 측정항목을 추가하여 반환할 데이터를 정의합니다.
  • 결과를 그룹화하려면 분류 기준을 추가하세요.
  • 기여 분석 리소스를 추가하여 관련 리소스 데이터를 암시적으로 조인합니다.
  • 검색 결과를 필터링, 정렬, 제한합니다.

SELECT

SELECT 절:

  • 쿼리의 필수 절입니다.
  • 요청에서 가져올 필드 집합을 지정합니다.
  • 리소스 필드, 맞춤 열, 커스텀 열을 쉼표로 구분된 목록으로 가져옵니다. 플러드라이트 변수, 세그먼트 필드, 측정항목을 만들고 있습니다.

이 쿼리 예시는 campaign의 속성을 선택하는 방법을 보여줍니다. 리소스:

SELECT
  campaign.id,
  campaign.name
FROM campaign

여러 필드 유형

동일한 요청에서 다른 필드 유형을 요청할 수 있습니다.

아래 예시 쿼리는 다음을 조합한 단일 쿼리를 보여줍니다.

  • 리소스 필드: campaign.id, campaign.name, bidding_strategy.idbidding_strategy.name입니다.
  • 세그먼트 필드: segments.devicesegments.date
  • 측정항목 필드: metrics.impressionsmetrics.clicks
SELECT
  campaign.id,
  campaign.name,
  bidding_strategy.id,
  bidding_strategy.name,
  segments.device,
  segments.date,
  metrics.impressions,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

세분화를 참조하세요. 검색 보고서 분류에 대해 자세히 알아보세요.

기본 리소스 필드

일반적으로 SELECT에 기본 리소스 필드를 포함합니다. 절이지만 이 절은 선택사항이며 (필수는 아님)

이 예시 쿼리는 기본 리소스 필드 (ad_group.status)를 사용하여 필터링만 합니다. 확인할 수 있습니다

SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED

맞춤 플러드라이트 변수

다음과 같이 SELECT 절에 맞춤 플러드라이트 변수를 포함할 수 있습니다. 있습니다.

이 예에서 검색어에는 확인할 수 있습니다

SELECT
  conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
  conversion_custom_dimensions.id[123454321]
FROM campaign

맞춤 열

ID를 사용하여 SELECT 절에 맞춤 열을 포함할 수 있습니다.

이 예에서 쿼리는 확인할 수 있습니다

SELECT
  custom_columns.id[12345678]
FROM campaign

맞춤 열 ID를 가져오는 방법에 대해 알아보세요.

측정항목 필드

다른 항목을 포함하지 않고 특정 리소스의 측정항목 필드를 선택할 수 있습니다. SELECT 절에 있는 리소스의 필드입니다.

이 예시 쿼리는 campaignimpressionsclicks 측정항목을 선택합니다. 리소스도 제공합니다

SELECT
  metrics.impressions,
  metrics.clicks
FROM campaign

자세한 내용은 metrics를 참고하세요. 측정항목 필드의 목록을 확인할 수 있습니다

세그먼트 필드

함께 제공되는 리소스 필드를 지정하지 않고 세그먼트 필드를 선택할 수 있습니다. 측정항목이나 측정항목을 SELECT 절에서 확인할 수 있습니다.

이 쿼리 예시는 기기별로 결과를 분류합니다.

SELECT segments.device
FROM campaign

자세한 내용은 segments를 참고하세요. 세그먼트 필드 목록을 참조하세요.

금지된 필드

SELECT 절에서 다음 필드를 사용할 수 없습니다.

  • 선택할 수 없는 필드, 즉 Selectable 메타데이터가 있는 필드 속성이 false(으)로 표시됩니다.
  • 반복되는 입력란, 즉 Repeated 메타데이터 속성이 있는 입력란 true로 표시됩니다.
  • FROM 절에서 지정된 리소스에 사용할 수 없는 필드입니다. 일부 리소스의 속성은 함께 선택할 수 없습니다. 일부 리소스만 모든 측정항목 및 세그먼트의 하위 집합을 사용할 수 있습니다.
  • 호환되지 않는 세그먼트 또는 측정항목입니다. 자세한 내용은 세분화를 참조하세요. 확인할 수 있습니다

참조 문서에서 다음을 확인하세요. 각 리소스의 이 정보를 찾을 수 있는 위치에 대한 세부정보입니다.

FROM 절

FROM 절:

  • 다음 쿼리를 위한 필수 절입니다. SearchAds360Service (SearchSearchStream 메서드 모두).
  • SearchAds360FieldService에 대한 쿼리에는 포함되면 안 됩니다.
  • 쿼리가 반환하는 기본 리소스를 지정합니다.
  • 하나의 리소스만 지정할 수 있습니다.
  • 쿼리의 다른 모든 절에서 사용할 수 있는 필드를 정의합니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.

기여 분석 리소스

기여 리소스를 사용할 수 있는 경우 해당 리소스는 암시적으로 FROM 절에서 지정하는 리소스입니다. 속성의 속성만 추가하면 됨 SELECT 절에 추가하여 해당 값을 반환합니다.

이 쿼리 예는 광고 그룹 ID와 캠페인 ID를 모두 반환합니다. campaignad_group 리소스의 기여 분석 리소스입니다.

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

resource_name 필드

FROM 절에서 기본 리소스의 resource_name 필드는 항상 다음과 같습니다. 반환합니다.

이 쿼리 예시에서는 ad_group.resource_name가 응답에 포함됩니다. 비록 쿼리에서 명시적으로 선택되지 않은 경우에도 마찬가지입니다.

SELECT ad_group.id
FROM ad_group

기여 리소스resource_name 필드는 다음과 같습니다. 필드가 하나 이상 선택되면 반환됩니다.

이 쿼리 예에서 campaign.resource_namecampaign.id을(를) 선택했기 때문에 응답:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

WHERE 절

WHERE 절:

  • 쿼리의 선택적 절입니다.
  • 요청에 대한 데이터를 필터링하고 세분화하기 위한 조건을 지정합니다. 조건은 다음 패턴을 따릅니다. FIELD_NAME OPERATOR VALUE( 합니다.
  • AND 구분자로 구분된 여러 조건을 포함할 수 있습니다.

이 쿼리 예시는 WHERE 절을 사용하여 impressions를 반환하는 방법을 보여줍니다. 측정항목:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

세분화를 참조하세요. 검색 보고서 분류에 대해 자세히 알아보세요.

날짜 지정에 대해 자세히 알아보려면 기간을 참조하세요. 지정할 수 있습니다

resource_name 필드로 필터링

resource_name 필드를 사용하여 데이터를 필터링하거나 정렬할 수 있습니다.

이 쿼리 예시는 campaign.resource_name 필드를 사용하여 결과를 필터링합니다. 적용할 수 있습니다.

SELECT
  campaign.id,
  campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'

여러 조건

여러 조건을 결합하여 데이터를 필터링할 수 있습니다.

이 쿼리 예시는 모든 캠페인의 clicks 측정항목 수를 요청합니다. 지난 30일 동안 모바일에서 impressions 측정항목이 사용되었습니다.

SELECT
  campaign.id,
  campaign.name,
  segments.device,
  metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
  AND segments.device = MOBILE
  AND segments.date DURING LAST_30_DAYS

세분화를 참조하세요. 보고서 분류에 대해 자세히 알아보세요.

대소문자 구분

문자열 값을 필터링할 때 각 연산자의 기본 대소문자 구분 결과를 올바로 필터링하는 데 중요한 역할을 합니다.

다음 표는 각 연산자의 기본 대소문자 구분을 보여줍니다.

기본 대소문자 구분
=/!= Case sensitive
IN/NOT IN Case sensitive
LIKE/NOT LIKE Case insensitive
CONTAINS (...) Case sensitive
REGEXP_MATCH/NOT REGEXP_MATCH Case sensitive

(?i) 수정자를 사용하여 기본 민감도를 변경할 수 있습니다. 대소문자를 구분하지 않는 REGEXP_MATCHNOT REGEXP_MATCH. 예를 들면 다음과 같습니다.

SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"

전체 목록은 쿼리 문법 참조에서 연산자를 사용할 수 있습니다.

핵심 기간 세그먼트

다음과 같은 세그먼트 필드를 핵심 기간이라고 합니다. segments.date, segments.week, segments.month, segments.quartersegments.year

WHERE 절에서 핵심 날짜 세그먼트를 사용하여 날짜 또는 시간을 지정할 수 있습니다. 있습니다.

이 예시 쿼리는 segments.date 필드에 DURING LAST_30_DAYS를 지정합니다. WHERE 절에서 다음과 같이 바꿉니다.

SELECT
  campaign.id,
  campaign.name,
  segments.date,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

자세한 내용은 세분화 > 핵심 기간 세그먼트에서 자세히 알아보세요. 핵심 기간 세그먼트 사용에 대한 정보를 확인하세요.

금지된 필터링

다음과 같은 필터링은 허용되지 않습니다.

  • 선택되지 않은 세그먼트 필드(핵심 기간 제외)
  • 프리미티브 (예: Int64Value, StringValue 등).
  • 프리미티브를 제외한 모든 메시지 유형의 반복되는 필드 속성 (예: Int64Value, StringValue 등)

ORDER BY 절

ORDER BY 절:

  • 쿼리의 선택적 절입니다.
  • 결과가 반환되는 순서를 지정합니다. 순서는 다음을 따릅니다. 패턴: FIELD_NAME ORDERING_OPTION (빈 공백으로 구분됨)
  • ASC (오름차순) 또는 DESC (내림차순)의 두 가지 옵션을 허용합니다. 기본값은 올라갑니다.

이 예시 쿼리는 클릭수를 클릭수에 따라 내림차순으로 정렬합니다. (높은 순에서 낮은 순으로):

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

다중 주문

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

이 예시 쿼리는 광고 그룹 데이터를 선택하고 결과를 오름차순으로 정렬합니다. 캠페인 이름으로 정렬한 다음 노출수를 기준으로 내림차순으로 정렬 클릭수를 기준으로 내림차순으로 정렬합니다.

SELECT
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks
FROM ad_group
ORDER BY
  campaign.name,
  metrics.impressions DESC,
  metrics.clicks DESC

순서 지정과 극한값 결합

ORDER BY 절을 LIMIT 절과 함께 사용하여 다음을 수행할 수 있습니다. 결과를 미세 조정하세요.

이 쿼리 예시는 지난 30일 간의 기간 동안 지난 30일:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5

금지된 주문

다음 주문은 허용되지 않습니다.

  • 선택되지 않은 리소스의 속성 기준
  • 선택되지 않은 측정항목을 기준으로 합니다.
  • 선택되지 않은 세그먼트 기준
  • 이러한 필드 유형의 경우: <ph type="x-smartling-placeholder">
      </ph>
    • MESSAGE
    • 반복 필드
    • 반복되는 필드의 속성입니다.

LIMIT 절

LIMIT 절:

  • 쿼리의 선택적 절입니다.
  • 쿼리가 반환하는 결과의 수를 제한할 수 있습니다.

이 절은 예를 들어 샘플에만 관심이 있거나 결과 요약입니다.

이 쿼리 예시는 총 결과 수를 50개로 제한합니다.

SELECT
  campaign.name,
  ad_group.name,
  segments.device,
  metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50

PARAMETERS 절

PARAMETERS 절을 사용하면 요청에 메타 매개변수를 지정할 수 있습니다.

초안 포함

include_drafts 매개변수는 임시 항목을 포함할지 여부를 제어합니다. 확인할 수 있습니다 기본값은 false입니다. 초안 항목을 포함하려면 true로 설정합니다.

다음 쿼리 예는 임시 캠페인과 일반 캠페인을 모두 반환합니다.

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

선택 해제된 resource_name 생략

omit_unselected_resource_names 매개변수를 사용하면 리소스에서 명시적으로 요청되지 않은 모든 리소스의 resource_name 필드가 SELECT 절. 기본값은 false입니다. 이 매개변수를 true로 설정하면 기본 리소스의 리소스 이름을 명시적으로 요청하는 것이 좋습니다. 그리고 SELECT 절에 있는 기여 분석 리소스를 사용할 수 있습니다

이 예시 쿼리는 campaign.resource_namecustomer.resource_name 필드(SELECT에 포함되지 않음) 절:

SELECT
  campaign.name,
  customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true

이 예시 쿼리는 campaign.resource_name 필드를 반환합니다. SELECT 절에서 명시적으로 요청되는 쿼리입니다.

SELECT
  campaign.name,
  campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true

측정항목에 사용되는 통화 변경

metrics_currency 매개변수를 사용하면 사용할 통화를 지정할 수 있습니다. SELECT 절에 포함된 측정항목을 계산할 때 기본값은 계정의 현지 통화를 사용하는 것입니다. 이 값을 매개변수에는 ISO 4217 3자리 통화 코드를 사용해야 합니다. 예: USD, EUR

이 쿼리 예시는 있습니다.

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"

이 쿼리 예시는 칠레 페소 (CLP)로 cost_micros 측정항목을 반환합니다.

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"

자세히 알아보기