Cómo ordenar y limitar los resultados

El lenguaje de consulta de Google Ads te permite ordenar y limitar las filas que se devuelven en las respuestas de tus consultas con las cláusulas ORDER BY y LIMIT.

Ordenar resultados

Puedes especificar el orden de las filas en tu respuesta con la cláusula ORDER BY, que consta de una o más secuencias separadas por comas de lo siguiente:

FieldName (ASC | DESC)?

Si no especificas ASC o DESC después del nombre de un campo, la API de Google Ads usa ASC de forma predeterminada. Si omites la cláusula ORDER BY por completo, el orden de las filas devueltas no es determinista.

La siguiente cláusula ORDER BY ordena un informe a nivel de la campaña por impresiones descendentes y nombre de campaña ascendente:

ORDER BY metrics.impressions DESC, campaign.name ASC
  • Por atributos de recursos no seleccionados
  • Por métricas no seleccionadas
  • Por segmentos no seleccionados
  • Para los campos de los siguientes tipos:
    • MESSAGE
    • Campos repetidos
    • Atributos de campos repetidos

Limitar la cantidad de resultados

Puedes limitar la cantidad total de resultados que se muestran con la cláusula LIMIT con un número entero positivo (1 o mayor; LIMIT 0 no es válido). Si combinas esto con el orden de los resultados, puedes producir informes de los "N mejores", como un informe que contenga las cinco campañas con la mayor cantidad de impresiones en los últimos 30 días:

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

Cuando combines filtros WHERE con ORDER BY y LIMIT, ten en cuenta las siguientes restricciones de filtrado:

  • No se permite filtrar los segmentos sin seleccionarlos, excepto los campos de segmento de fecha "principales" (segments.date, segments.week, segments.month, segments.quarter y segments.year).
  • No se permite filtrar directamente los campos MESSAGE compuestos (excepto los mensajes de wrapper primitivos, como Int64Value y StringValue). En su lugar, filtra por sus subcampos escalares primitivos (int64, string, bool) o enum.
  • No se permite filtrar los atributos MESSAGE compuestos de los campos repetidos. Solo se pueden filtrar los subcampos escalares primitivos (int64, string, bool), de enumeración o de wrapper primitivo.