Структура запроса

Запросы для полей метрики и сегмента можно отправлять в метод reports.search . Чтобы построить запрос на языке запросов Merchant Center, необходимо сначала составить запрос с использованием грамматики языка . Запрос состоит из ряда предложений:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

Условия используют имена полей , имена таблиц , операторы , условия и упорядочения , чтобы помочь вам выбрать нужные данные. После объединения в один запрос запрос может быть выполнен с помощью API контента Google для покупок. Давайте рассмотрим, как можно использовать каждое условие.

Положения

ВЫБИРАТЬ

Предложение 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 можно указать только одну таблицу. В настоящее время поддерживается только таблица MerchantPerformanceView. Предложение FROM требуется в запросе к методу search в службе reports .

ГДЕ

Предложение 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

Вы можете объединить несколько условий для фильтрации данных. Этот пример вернет количество кликов на предложение для программы SHOPPING_ADS, где клики > 100 в течение указанного 30-дневного периода.

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 определяет порядок, в котором должны быть возвращены результаты. Это позволяет вам упорядочить данные в порядке возрастания или убывания на основе имени поля. Каждый порядок указывается как field_name с последующим ASC или DESC . Если не указано ни ASC , ни DESC , порядок по умолчанию ASC . В предложении ORDER BY можно использовать только поля, указанные в предложении SELECT . Предложение 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 можно использовать для ограничения общего количества результатов для следующего запроса:

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