Como ordenar e limitar resultados

Com a Linguagem de consulta do Google Ads, é possível classificar e limitar as linhas retornadas nas respostas da consulta usando as cláusulas ORDER BY e LIMIT.

Ordenar resultados

É possível especificar a ordem das linhas na resposta usando a cláusula ORDER BY, que consiste em uma ou mais sequências separadas por vírgulas de:

FieldName (ASC | DESC)?

Se você não especificar ASC ou DESC após o nome de um campo, a API Google Ads vai usar ASC como padrão. Se você omitir totalmente a cláusula ORDER BY, a ordem das linhas retornadas será não determinística.

A cláusula ORDER BY a seguir classifica um relatório no nível da campanha por impressões decrescentes e nome da campanha crescente:

ORDER BY metrics.impressions DESC, campaign.name ASC
  • Por atributos de recursos não selecionados
  • Por métricas não selecionadas
  • Por segmentos não selecionados
  • Para campos dos seguintes tipos:
    • MESSAGE
    • Campos repetidos
    • Atributos de campos repetidos

limitar o número de resultados.

É possível limitar o número total de resultados retornados usando a cláusula LIMIT com um número inteiro positivo (1 ou maior; LIMIT 0 não é válido). Ao combinar isso com a ordenação de resultados, é possível produzir relatórios "top N", como um relatório contendo as cinco campanhas com o maior número de impressões nos últimos 30 dias:

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

Filtrar resultados

Ao combinar filtros WHERE com ORDER BY e LIMIT, lembre-se das seguintes restrições de filtragem:

  • Não é permitido filtrar segmentos sem selecioná-los, exceto para campos de segmento de data "principais" (segments.date, segments.week, segments.month, segments.quarter e segments.year).
  • Não é permitido filtrar diretamente em campos compostos MESSAGE (exceto mensagens de wrapper primitivas, como Int64Value e StringValue). Em vez disso, filtre em subcampos escalares primitivos (int64, string, bool) ou de tipo enumerado.
  • Não é permitido filtrar atributos MESSAGE compostos de campos repetidos. Somente subcampos escalares primitivos (int64, string, bool), tipo enumerado ou wrapper primitivo podem ser filtrados.