排序及限制結果

您可以使用 ORDER BY 和 LIMIT 子句,在查詢回應中排序及限制傳回的資料列。

排序結果

您可以使用 ORDER BY 子句指定回應中的資料列順序,該子句由一或多個以半形逗號分隔的序列組成,包括:

FieldName (ASC | DESC)?

如果您未在欄位名稱後指定 ASC 或 DESC,Google Ads API 會預設為 ASC。如果完全省略 ORDER BY 子句,傳回資料列的順序會不確定。

下列 ORDER BY 子句會依曝光次數遞減和廣告活動名稱遞增排序廣告活動層級報表:

ORDER BY metrics.impressions DESC, campaign.name ASC
  • 依未選取資源的屬性
  • 依未選取的指標
  • 未選取的區隔
  • 如果是下列類型的欄位:
    • MESSAGE
    • 重複欄位
    • 重複欄位的屬性

限制結果數量

您可以使用 LIMIT 子句搭配正整數 (1 以上;LIMIT 0 無效),限制傳回的結果總數。將這項功能與結果排序功能結合使用,即可產生「前 N 項」報表,例如包含過去 30 天內曝光次數最高的五個廣告活動的報表:

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

篩選結果

將 WHERE 篩選器與 ORDER BY 和 LIMIT 結合使用時,請注意下列篩選限制:

  • 如未選取區隔,就無法篩選區隔,但「核心」日期區隔欄位 (segments.date、segments.week、segments.month、segments.quarter 和 segments.year) 除外。
  • 不允許直接對複合 MESSAGE 欄位進行篩選 (原始包裝函式訊息除外,例如 Int64Value 和 StringValue);請改為對原始純量 (int64、string、bool) 或列舉子欄位進行篩選。
  • 不允許對重複欄位的複合 MESSAGE 屬性進行篩選,只能篩選原始純量 (int64、string、bool)、列舉或原始封裝子欄位。