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 zuerst die Abfrage mithilfe der Sprachgrammatik erstellen. Eine Abfrage besteht aus mehreren Klauseln:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

Klauseln verwenden Feldnamen, Tabellennamen, Operatoren, Bedingungen und Reihenfolgen, um Ihnen die Auswahl der gewünschten Daten zu erleichtern. Sobald sie in einer einzigen Abfrage zusammengefasst sind, 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

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. In einer Abfrage ist die SELECT-Klausel 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 einzigen 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 aufgrund der folgenden Einschränkungen in der SELECT-Klausel nicht zulässig:

  • Segmentfelder ohne mindestens ein Messwertfeld werden abgefragt.

Informationen in Bezug auf die oben genannte 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 jeweilige Abfrage verwendet werden können. In der FROM-Klausel kann nur eine einzige Tabelle angegeben werden. Derzeit wird nur die MerchantPerformanceView-Tabelle unterstützt. Die FROM-Klausel ist in einer Abfrage an die Methode search im Dienst reports erforderlich.

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 mit AND angeben, um sie zu trennen. Jede Bedingung sollte dem Muster field_name Operator value folgen. In der WHERE-Klausel kann jedes Segmentfeld verwendet werden, aber Messwertfelder müssen 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, in dem die Leistungsdaten zurückgegeben werden sollen.

Im folgenden Beispiel werden mit WHERE Messwerte aus einem bestimmten Zeitraum zurückgegeben:

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 für das SHOPPING_ADS-Programm die Anzahl der Klicks pro Angebot zurückgegeben, wenn innerhalb des angegebenen Zeitraums von 30 Tagen mehr als 100 Klicks erzielt wurden.

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 zum Abrufen von Leistungsdaten immer ein begrenzter Zeitraum in der WHERE-Klausel angegeben werden.

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 Ihres Operators zu berücksichtigen.

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 Reihenfolge 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.

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

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 in der ORDER BY-Klausel mithilfe einer durch Kommas getrennten Liste mehrere Felder angeben. Die Sortierung erfolgt in der in der Abfrage angegebenen Reihenfolge. In dieser Abfrage werden die Ergebnisse beispielsweise in aufsteigender Reihenfolge nach offer_id, dann in absteigender Reihenfolge nach 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.

Beispielsweise kann LIMIT verwendet werden, um die Gesamtzahl der Ergebnisse für die folgende Abfrage einzuschränken:

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