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

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