Abfragestruktur

Abfragen für Messwert- und Segmentfelder können an die Methode reports.search gesendet werden. Um eine Abfrage in der Merchant Center Query Language zu erstellen, müssen Sie sie zuerst mithilfe der Sprachgrammatik verfassen, die aus mehreren Klauseln besteht:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

In Klauseln werden Feldnamen, Tabellennamen, Operatoren, Bedingungen und Reihenfolgen verwendet, um die gewünschten Daten auszuwählen. Wenn diese zu einer einzigen Abfrage zusammengefasst werden, kann eine Anfrage über die Google Content API for Shopping gestellt werden. Schauen wir uns an, wie jede Klausel verwendet werden kann.

klauseln

SELECT

Die SELECT-Klausel gibt eine Reihe von Feldern an, die in der Anfrage abgerufen werden sollen. SELECT verwendet eine durch Kommas getrennte Liste von Segmentfeldern und Messwerten und gibt die Werte in der Antwort zurück. Die SELECT-Klausel ist in einer Abfrage erforderlich.

Hier sehen Sie eine Beispielabfrage, mit der Klickmesswerte aus einer bestimmten Tabelle ausgewählt werden:

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

Sie können auch verschiedene Feldtypen in einer einzelnen Anfrage abfragen:

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

    • segments.date
    • segments.program
  • Messwerte

    • metrics.impressions
    • metrics.clicks

Einige Felder sind in der SELECT-Klausel aufgrund der folgenden Einschränkung nicht zulässig:

  • Segmentfelder ohne mindestens ein Messwertfeld abfragen

Informationen zur oben genannten Bedingung finden Sie in unseren Referenzdokumenten.

VOM

Die FROM-Klausel gibt die Tabelle an, aus der Daten in der Anfrage abgerufen werden sollen. Die Tabelle in der FROM-Klausel definiert, welche Felder von allen anderen Klauseln für die angegebene Abfrage verwendet werden können. In der FROM-Klausel kann nur eine einzelne Tabelle angegeben werden. Derzeit wird nur die Tabelle „MerchantPerformanceView“ unterstützt. Die FROM-Klausel ist in einer Abfrage der Methode search für den Dienst reports erforderlich.

DABEI GILT:

Die WHERE-Klausel gibt Bedingungen an, die beim Filtern von Daten für die Anfrage angewendet werden. Wenn Sie die WHERE-Klausel verwenden, können eine oder mehrere Bedingungen angegeben werden, indem Sie AND verwenden, um sie zu trennen. Jede Bedingung sollte dem Muster field_name Operator value folgen. In der WHERE-Klausel kann jedes Segmentfeld verwendet werden. Messwertfelder müssen jedoch in der SELECT-Klausel angegeben werden, um in der WHERE-Klausel verwendet zu werden. Die WHERE-Klausel ist in einer Abfrage erforderlich, da Sie immer den Zeitraum angeben müssen, für den die Leistungsdaten zurückgegeben werden sollen.

Im folgenden Beispiel wird WHERE verwendet, um Messwerte aus einem bestimmten Zeitraum zurückzugeben:

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

Sie können mehrere Bedingungen kombinieren, um die Daten zu filtern. In diesem Beispiel wird die Anzahl der Klicks pro Angebot für das SHOPPING_ADS-Programm zurückgegeben, bei denen die Anzahl der Klicks innerhalb des angegebenen Zeitraums von 30 Tagen größer als 100 ist.

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’;

In der folgenden Abfrage sehen Sie, dass segments.date ausgewählt wurde. Unabhängig davon, ob Sie segments.date auswählen, muss in der WHERE-Klausel immer ein endlicher Zeitraum angegeben werden, um Leistungsdaten abzurufen.

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

Beim Filtern ist es wichtig, die Groß- und Kleinschreibung des Operators zu beachten.

Eine vollständige Liste der Operatoren finden Sie in der Sprachgrammatik.

ORDER BY

Die ORDER BY-Klausel gibt die Reihenfolge an, in der die Ergebnisse zurückgegeben werden sollen. So können Sie die Daten basierend auf einem Feldnamen in aufsteigender oder absteigender Reihenfolge anordnen. Jede Sortierung wird als field_name gefolgt von ASC oder DESC angegeben. Wenn weder ASC noch DESC angegeben ist, wird standardmäßig ASC verwendet. Nur in der SELECT-Klausel angegebene Felder können in der ORDER BY-Klausel verwendet werden. Die ORDER BY-Klausel ist in einer Abfrage optional.

Die folgende Abfrage sortiert die zurückgegebenen Zeilen nach der Anzahl der Klicks vom höchsten zum niedrigsten Wert:

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

Mithilfe einer durch Kommas getrennten Liste können Sie mehrere Felder in der ORDER BY-Klausel angeben. Die Sortierung erfolgt in der gleichen Reihenfolge wie in der Abfrage angegeben. In dieser Abfrage werden die Ergebnisse beispielsweise in aufsteigender Reihenfolge nach offer_id, dann in absteigender Reihenfolge nach der Anzahl der Impressionen und dann in absteigender Reihenfolge nach Anzahl der Klicks sortiert:

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

Mit der LIMIT-Klausel können Sie die Anzahl der Ergebnisse angeben, die zurückgegeben werden sollen. Dies ist nützlich, wenn Sie nur an einer Zusammenfassung interessiert sind.

Mit LIMIT kann beispielsweise die Gesamtzahl der Ergebnisse für die folgende Abfrage eingeschränkt werden:

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