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 depois de um nome de campo, a API Google Ads vai usar ASC por padrão. Se você omitir 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, você pode gerar relatórios "N principais", como um relatório com as cinco campanhas com mais 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 é possível filtrar segmentos sem selecioná-los, exceto para os campos de segmento de data "principais" (segments.date, segments.week, segments.month, segments.quarter e segments.year).
  • Não é possível filtrar diretamente campos MESSAGE compostos, exceto mensagens de wrapper primitivas, como Int64Value e StringValue. Em vez disso, filtre nos subcampos escalares primitivos (int64, string, bool) ou de enumeração.
  • Não é possível filtrar atributos MESSAGE compostos de campos repetidos. Somente subcampos primitivos escalares (int64, string, bool), enum ou wrapper primitivos podem ser filtrados.