Abfragen für Messwert- und Segmentfelder können an die Methode reports.search
gesendet werden. Wenn Sie eine Abfrage in der Merchant Center Query Language erstellen möchten, müssen Sie zuerst die Abfrage gemäß der Sprachgrammatik formulieren. Eine Abfrage besteht aus mehreren Klauseln:
SELECT
FROM
WHERE
ORDER BY
LIMIT
In Klauseln werden Feldnamen, Tabellennamen, Operatoren, Bedingungen und Sortierungen verwendet, um die gewünschten Daten auszuwählen. Nachdem sie zu einer einzelnen Abfrage kombiniert wurden, kann eine Anfrage über die Google Content API for Shopping gesendet werden. Sehen wir uns an, wie die einzelnen Klauseln verwendet werden können.
klauseln
AUSWÄHLEN
Mit der SELECT
-Klausel wird eine Reihe von Feldern angegeben, die in der Anfrage abgerufen werden sollen. SELECT
nimmt eine durch Kommas getrennte Liste von Segmentfeldern und Messwerten entgegen und gibt die Werte in der Antwort zurück. Die SELECT
-Klausel ist in einer Abfrage erforderlich.
Hier ist 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 in der SELECT
-Klausel aufgrund der folgenden Einschränkung nicht zulässig:
- Segmentfelder werden ohne mindestens ein Messwertfeld abgefragt.
Informationen zu dieser Bedingung finden Sie in unseren Referenzdokumenten.
VOM
Die FROM
-Klausel gibt die Tabelle an, aus der in der Anfrage Daten abgerufen werden sollen. In der Tabelle in der FROM
-Klausel wird festgelegt, 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 Tabelle „MerchantPerformanceView“ unterstützt.
Die FROM
-Klausel ist erforderlich in einer Abfrage 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 und sie mit AND
voneinander 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 werden zu können. 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 dem die Klicks innerhalb des angegebenen 30-Tage-Zeitraums mehr als 100 betrugen.
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 wurde segments.date
ausgewählt.
Unabhängig davon, ob Sie segments.date
auswählen, muss in der WHERE
-Klausel immer ein bestimmter 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, zwischen Groß- und Kleinschreibung zu unterscheiden.
Eine vollständige Liste der Operatoren finden Sie in der Sprachgrammatik.
ORDER BY
Mit der ORDER BY
-Klausel wird die Reihenfolge festgelegt, 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. In der ORDER BY
-Klausel können nur Felder verwendet werden, die in der SELECT
-Klausel angegeben sind. Die ORDER BY
-Klausel ist in einer Abfrage optional.
Die folgende Abfrage sortiert die zurückgegebenen Zeilen nach der Anzahl der Klicks 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 in einer durch Kommas getrennten Liste angeben. Die Sortierung erfolgt in der Reihenfolge, die in der Abfrage angegeben ist.
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 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