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

Запросы по полям метрик и сегментов можно отправлять в метод 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