Упорядочивание и ограничение результатов

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

Результаты заказа

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

FieldName (ASC | DESC)?

Если после имени поля не указаны значения ASC или DESC , API Google Ads по умолчанию использует значение 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 ), перечисления (enum) или примитивные подполя-обертки.