Сортировка и ограничение результатов

Язык запросов Google Рекламы позволяет сортировать и ограничивать строки, возвращаемые в ответах на запросы, с помощью предложений ORDER BY и LIMIT.

Сортировка результатов

Вы можете указать порядок строк в ответе, используя предложение ORDER BY, которое состоит из одной или нескольких последовательностей, разделенных запятыми:

FieldName (ASC | DESC)?

Если вы не укажете ASC или DESC после названия поля, Google Ads API по умолчанию будет использовать ASC. Если вы полностью опустите предложение ORDER BY, порядок возвращаемых строк будет недетерминированным.

В следующем примере предложение ORDER BY сортирует отчет на уровне кампании по убыванию количества показов и по возрастанию названия кампании:

ORDER BY metrics.impressions DESC, campaign.name ASC
  • По атрибутам невыбранных ресурсов
  • По невыбранным показателям
  • По невыбранным сегментам
  • Для полей следующих типов:
    • MESSAGE
    • Повторяющиеся поля
    • Атрибуты повторяющихся полей

Ограничение количества результатов

Вы можете ограничить общее количество возвращаемых результатов, используя предложение LIMIT с положительным целым числом (1 или больше; LIMIT 0 не допускается). В сочетании с сортировкой результатов это позволяет создавать отчеты по N лучшим объектам, например отчет о пяти кампаниях с наибольшим количеством показов за последние 30 дней:

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

Фильтры

При совместном использовании фильтров WHERE, ORDER BY и LIMIT учитывайте следующие ограничения:

  • Фильтрация по сегментам без их выбора не допускается, за исключением основных полей сегментов дат (segments.date, segments.week, segments.month, segments.quarter и segments.year).
  • Фильтрация непосредственно по составным полям MESSAGE не допускается (за исключением примитивных сообщений-оболочек, таких как Int64Value и StringValue). Вместо этого используйте фильтрацию по их примитивным скалярным (int64, string, bool) или перечисляемым подполям.
  • Фильтрация не разрешена для составных атрибутов MESSAGE повторяющихся полей. Фильтровать можно только примитивные скалярные (int64, string, bool), перечисляемые или примитивные вложенные поля-оболочки.