您可以使用 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)、列舉或原始封裝子欄位。