Como ordenar e limitar resultados

A linguagem de consulta do Google Ads permite classificar e limitar as linhas retornadas nas respostas de 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 um nome de campo, a API Google Ads vai usar ASC como padrão. Se você omitir a cláusula ORDER BY, a ordem das linhas retornadas não será determinista.

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, você pode gerar relatórios "N principais", como um relatório que contém as cinco campanhas com as maiores 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, tenha em mente as seguintes restrições de filtragem:

  • Não é possível 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 é possível filtrar campos MESSAGE compostos diretamente (exceto mensagens de wrapper primitivas, como Int64Value e StringValue); filtre os subcampos escalares primitivos (int64, string, bool) ou de enumeração.
  • Não é possível filtrar atributos MESSAGE compostos de campos repetidos; somente subcampos escalares primitivos (int64, string, bool), de tipo enumerado ou de wrapper primitivos podem ser filtrados.