Classer et limiter les résultats

Le langage de requête Google Ads vous permet de trier et de limiter le nombre de lignes renvoyées dans les réponses à vos requêtes à l'aide des clauses ORDER BY et LIMIT.

Trier les résultats

Vous pouvez spécifier l'ordre des lignes dans votre réponse à l'aide de la clause ORDER BY, qui se compose d'une ou de plusieurs séquences séparées par une virgule de :

FieldName (ASC | DESC)?

Si vous ne spécifiez pas ASC ou DESC après un nom de champ, l'API Google Ads utilise ASC par défaut. Si vous omettez complètement la clause ORDER BY, l'ordre des lignes renvoyées est non déterministe.

La clause ORDER BY suivante trie un rapport au niveau de la campagne par impressions décroissantes et par nom de campagne croissant :

ORDER BY metrics.impressions DESC, campaign.name ASC
  • Par attributs des ressources non sélectionnées
  • Par métriques non sélectionnées
  • Par les segments non sélectionnés
  • Pour les champs des types suivants :
    • MESSAGE
    • Champs répétés
    • Attributs des champs répétés

Limiter le nombre de résultats

Vous pouvez limiter le nombre total de résultats renvoyés à l'aide de la clause LIMIT avec un entier positif (1 ou plus ; LIMIT 0 n'est pas valide). En combinant cela avec l'ordre des résultats, vous pouvez générer des rapports "top N", comme un rapport contenant les cinq campagnes ayant généré le plus d'impressions au cours des 30 derniers jours :

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

Filtrer les résultats

Lorsque vous combinez des filtres WHERE avec ORDER BY et LIMIT, tenez compte des restrictions de filtrage suivantes :

  • Il n'est pas possible de filtrer les segments sans les sélectionner, à l'exception des champs de segment de date "principaux" (segments.date, segments.week, segments.month, segments.quarter et segments.year).
  • Le filtrage n'est pas autorisé directement sur les champs MESSAGE composites (à l'exception des messages wrapper primitifs tels que Int64Value et StringValue). Filtrez plutôt sur leurs sous-champs primitifs scalaires (int64, string, bool) ou énumérés.
  • Le filtrage n'est pas autorisé sur les attributs MESSAGE composites des champs répétés. Seuls les sous-champs primitifs scalaires (int64, string, bool), enum ou primitifs wrapper peuvent être filtrés.