对结果进行排序和限制

借助 Google Ads 查询语言,您可以使用 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 天内展示次数最高的 5 个广告系列的报告:

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)、枚举或原始封装容器子字段进行过滤。