Abfragestruktur

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

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

Klauseln verwenden Feldnamen, Tabellennamen, Operatoren, Bedingungen und Sortierungen, um die gewünschten Daten auszuwählen. Nachdem die Daten in einer einzigen Anfrage zusammengefasst wurden, kann eine Anfrage über die Google Content API for Shopping gestellt werden. Sehen wir uns an, wie die einzelnen Klauseln verwendet werden können.

klauseln

AUSWÄHLEN

Die SELECT-Klausel gibt eine Reihe von Feldern an, die in der Anfrage abgerufen werden sollen. SELECT akzeptiert 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 ist ein Beispiel für eine Abfrage, 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:

  • Abfragen von Segmentfeldern ohne mindestens ein Messwertfeld.

Informationen zur oben genannten Bedingung finden Sie in unserer Referenzdokumentation.

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 jeweilige Abfrage verwendet werden können. In der FROM-Klausel kann nur eine Tabelle angegeben werden. Derzeit wird nur die Tabelle „MerchantPerformanceView“ unterstützt. Die FROM-Klausel ist erforderlich für eine Anfrage an die search-Methode des reports-Dienstes.

WHERE

Die WHERE-Klausel gibt Bedingungen an, die beim Filtern von Daten für die Anfrage angewendet werden sollen. Wenn Sie die WHERE-Klausel verwenden, können Sie eine oder mehrere Bedingungen angeben, die durch AND getrennt werden. Jede Bedingung sollte dem Muster field_name Operator value entsprechen. Jedes Segmentfeld kann in der WHERE-Klausel verwendet werden. Messwertfelder müssen jedoch in der SELECT-Klausel angegeben werden, damit sie in der WHERE-Klausel verwendet werden können. Die WHERE-Klausel ist in einer Abfrage erforderlich, da Sie immer den Zeitraum angeben müssen, für den Sie Ihre Leistungsdaten abrufen möchten.

Im Folgenden sehen Sie ein Beispiel für die Verwendung von WHERE zum Zurückgeben von Messwerten aus einem bestimmten Zeitraum:

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 Programm „SHOPPING_ADS“ zurückgegeben, wobei die Anzahl der Klicks im angegebenen Zeitraum 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ß-/Kleinschreibung des Operators zu beachten.

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

ORDER BY

Mit der ORDER BY-Klausel wird die Reihenfolge angegeben, in der die Ergebnisse zurückgegeben werden sollen. So können Sie die Daten anhand eines Feldnamens auf- oder absteigend sortieren. 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 die in der SELECT-Klausel angegebenen Felder können in der ORDER BY-Klausel verwendet werden. Die ORDER BY-Klausel ist in einer Abfrage optional.

Bei der folgenden Abfrage werden die zurückgegebenen Zeilen nach der Anzahl der Klicks sortiert, von der höchsten zur niedrigsten:

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

Sie können mehrere Felder in der ORDER BY-Klausel mit einer durch Kommas getrennten Liste angeben. Die Sortierung erfolgt in derselben 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 schließlich in absteigender Reihenfolge nach der 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 zurückzugebenden Ergebnisse angeben. Das 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