查询结构

您可以将对指标和细分字段的查询发送到 reports.search 方法。要使用 Merchant Center 查询语言构建查询,您需要先编写 使用语言语法进行查询。 一个查询由多个子句组成:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

子句使用字段名称、表名、运算符、条件和条件。 排序,帮助您选择所需的数据。一旦合并为 则可以使用 Google Content API for Shopping 提出请求。下面我们来看一下 子句。

条款

选择

SELECT 子句指定要在请求中提取的一组字段。SELECT 采用逗号分隔的细分字段和指标列表,返回值 。SELECT 子句在查询中是必需子句。

下面是一个从给定表中选择点击指标的示例查询:

SELECT
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

您还可以在单个请求中查询不同的字段类型:

SELECT
  segments.date,
  segments.program,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
  • 细分字段

    • segments.date
    • segments.program
  • 指标

    • metrics.impressions
    • metrics.clicks

SELECT 子句中不允许包含某些字段,原因如下: 限制:

  • 查询至少一个指标字段的细分字段。

有关上述情况的信息,请参阅我们的参考文档。

FROM

FROM 子句在请求中指定要从中提取数据的表。通过 FROM 子句中的表定义了所有其他 子句。只能在 FROM 子句。目前仅支持 MerchantPerformanceView 表。 在查询 search 方法时必须使用 FROM 子句 reports 服务。

WHERE

WHERE 子句指定在根据 请求。使用 WHERE 子句时,可以指定一个或多个条件 使用 AND 分隔它们。每个条件都应遵循 field_name Operator value。任何细分字段都可以在 WHERE 中使用 子句中,但需要在 SELECT 子句中指定指标字段 在 WHERE 子句中使用。WHERE 子句在查询中是必需子句, 因为您必须始终指定 效果数据。

以下示例演示了如何使用 WHERE 返回指定时间段的指标:

SELECT
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

您可以结合使用多个条件来过滤数据。这个示例将返回 SHOPPING_ADS 计划中每种优惠的点击次数,其中点击次数 > 在指定 30 天的期限内达到 100 人。

SELECT
  segments.offer_id,
  segments.program,
  metrics.clicks
FROM MerchantPerformanceView
WHERE metrics.clicks > 100
  AND segments.program = SHOPPING_ADS
  AND segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’;

在以下查询中,您会发现选择了 segments.date。 无论您是否选择segments.date, 始终必须提供 WHERE 子句来检索性能数据。

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

在过滤时,请务必根据运算符区分大小写 。

有关运算符的完整列表,请参阅 语言语法

ORDER BY

ORDER BY 子句指定结果的显示顺序 返回。这样一来,您就可以根据字段名称按升序或降序排列相关数据。每项排序都指定为 field_name,后跟 ASCDESC。如果 ASCDESC 均未指定,则默认顺序 发送至 ASC。只有 SELECT 子句中指定的字段才能用在 ORDER BY 子句。ORDER BY 子句在查询中是可选子句。

以下查询按点击次数从高到低对返回的行进行排序 最低:

SELECT
  segments.offer_id,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC

您可以使用英文逗号分隔的 ORDER BY 子句中指定多个字段 列表。系统将按照查询中指定的顺序进行排序。 例如,在此查询中,结果将按 offer_id,然后按展示次数降序排列,然后进入 按点击次数降序排列:

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY
  segments.offer_id,
  metrics.impressions DESC,
  metrics.clicks DESC

LIMIT

LIMIT 子句用于指定要返回的结果数。 如果您只对摘要感兴趣,这会非常有用。

例如,LIMIT 可用于限制以下查询的结果总数:

SELECT
  segments.program,
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.impressions DESC
LIMIT 50