查詢結構

指標和區隔欄位的查詢可傳送至 reports.search 方法。如要使用 Merchant Center 查詢語言建立查詢,您必須先建立 使用語言文法查詢。 查詢是由幾個子句組成:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

子句使用欄位名稱資料表名稱運算子條件排序來協助您選取需要的資料。合併為單一元素 您可以利用 Google Content API for Shopping 提出要求。以下將介紹 子句

子句

SELECT

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 子句中指定多個欄位,並以半形逗號分隔 請參考閱讀清單,進一步瞭解 如何選擇 Kubeflow Pipelines SDK 或 TFX系統會按照查詢中指定的順序排列。 舉例來說,在這個查詢中,結果會以遞增順序排序 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