Die Merchant Center Query Language (MCQL) ist eine Abfragesprache, die SQL ähnelt. Ich Sie können MCQL mit der Merchant Reports API verwenden, um Leistungsdaten zu Ihren Produkten und dem Markt abzurufen, in dem sie konkurrieren.
Grammatik
Hier ist die MCQL-Grammatikreferenz (in der Notation für reguläre Ausdrücke):
Query -> SelectClause FromClause? WhereClause? OrderByClause? LimitClause?
SelectClause -> SELECT FieldName (, FieldName)*
FromClause -> FROM TableName
WhereClause -> WHERE Condition (AND Condition)*
OrderByClause -> ORDER BY Ordering (, Ordering)*
LimitClause -> LIMIT PositiveInteger
Condition -> FieldName Operator Value | FieldName BETWEEN Value AND Value
Operator -> = | != | > | >= | < | <= | <> | IN | NOT IN |
CONTAINS ANY | CONTAINS ALL | CONTAINS NONE | DURING |
LIKE | NOT LIKE | REGEXP_MATCH | NOT REGEXP_MATCH
Value -> Number | NumberList | String | StringList | Function
Ordering -> FieldName (ASC | DESC)?
FieldName -> [a-z] ([a-zA-Z0-9._])*
TableName -> [A-Z] ([a-zA-Z_])*
StringList -> ( String (, String)* )
NumberList -> ( Number (, Number)* )
PositiveInteger -> [1-9] ([0-9])*
Number -> -? [0-9]+ (. [0-9] [0-9]*)?
String -> (' Char* ') | (" Char* ")
Function -> LAST_14_DAYS | LAST_30_DAYS | LAST_7_DAYS |
LAST_BUSINESS_WEEK | LAST_MONTH | LAST_WEEK_MON_SUN |
LAST_WEEK_SUN_SAT | THIS_MONTH | THIS_WEEK_MON_TODAY |
THIS_WEEK_SUN_TODAY | TODAY | YESTERDAY
Sie können die folgenden Symbole verwenden:
?
zeigt ein optionales Element an.*
steht für null oder mehr;+
steht für eine oder mehrere.(xxxxxx)
gibt eine Gruppierung an.[a-z0-9]
steht für Zeichenbereiche.|
steht für „oder“.
Groß-/Kleinschreibung
Bei den meisten MCQL-Operatoren wird zwischen Groß- und Kleinschreibung unterschieden:
Operatoren | Berücksichtigung der Groß-/Kleinschreibung |
---|---|
= oder != | Groß-/Kleinschreibung beachten |
(NICHT) IN | Groß-/Kleinschreibung beachten |
(NICHT) Gefällt mir | Groß-/Kleinschreibung beachten |
ENTHÄLT (...) | Groß-/Kleinschreibung beachten |
REGEXP_MATCH | Optional: Beide |
klauseln
Hier sind die Klauseln, die Sie mit der MCQL abfragen können:
AUSWÄHLEN
Die SELECT
-Klausel verwendet eine durch Kommas getrennte Liste von Feldern, die abgerufen werden sollen.
In der Ansicht können Sie jedes Feld auswählen. Hier sind einige Beispiele für Felder, die Sie auswählen können:
Sie können mehrere Feldtypen in einer einzelnen Anfrage abfragen. Beispiel:
SELECT
date,
marketingMethod,
impressions,
clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
VOM
Die FROM
-Klausel gibt die Tabelle an, aus der Daten in der Anfrage abgerufen werden sollen. Sie können
nur ein Feld in der FROM
-Klausel angeben. Die FROM
-Klausel ist für
alle Abfragen.
WHERE
Verwenden Sie die WHERE
-Klausel, um die Daten für Ihre Anfrage zu filtern. In der WHERE
-Klausel
für die Leistung erforderlich
abfragen.
Sie können nach allen
segments-Feldern
und durch zusätzliche
metrics, wenn
werden sie in der SELECT
-Klausel angegeben.
In diesem Beispiel werden mit WHERE
Impressionen von nur einer bestimmten
Zeitraum (Monat August):
SELECT offerId, impressions
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
Mit dem Operator AND
können Sie in einer einzelnen Abfrage nach mehreren Bedingungen filtern.
Verwenden Sie AND
zwischen vollständigen Bedingungen, z. B. WHERE marketingMethod !=
"ADS" AND marketingMethod != "ORGANIC"
. Sie können AND
nicht zwischen Werten in einem
einzelne Bedingung, z. B. WHERE marketingMethod != "ADS" AND "ORGANIC"
.
Im folgenden Beispiel wird die Anzahl der Klicks pro Angebot zurückgegeben, bei denen
mehr als 100 Klicks für die Marketingmethode ADS
im Monat
August:
SELECT offerId, clicks
FROM ProductPerformanceView
WHERE clicks > 100
AND marketingMethod = 'ADS'
AND date BETWEEN '2020-08-01' AND '2020-08-31'
OR
wird von der WHERE
-Klausel nicht unterstützt. Bei Operatoren wird zwischen Groß- und Kleinschreibung unterschieden. Für eine
vollständige Liste der Operatoren finden Sie unter Grammatik.
ORDER BY (optional)
Mit der ORDER BY
-Klausel können Ergebnisse in einer bestimmten Reihenfolge abgerufen werden.
Geben Sie die Reihenfolge mit fieldName
, dann ASC
oder DESC
an. Sie können nur nach Folgendem sortieren:
Felder, die in der SELECT
-Klausel Ihrer Abfrage angegeben sind. ORDER BY
ist standardmäßig auf
ASC
, wenn Sie keine Angabe machen.
Die folgende Abfrage sortiert die zurückgegebenen Zeilen nach der Anzahl der Klicks vom höchsten bis zum niedrigsten:
SELECT offerId, clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY clicks DESC
Sie können in der ORDER BY
-Klausel mehrere Felder angeben, indem Sie ein durch Kommas getrenntes Feld verwenden
Liste.
Die Ergebnisse der folgenden Abfrage sind z. B. in aufsteigender Reihenfolge sortiert nach
offerId
, dann in absteigender Reihenfolge nach Anzahl der Impressionen und dann in absteigender Reihenfolge
Sortieren nach Anzahl der Klicks:
SELECT offerId, impressions, clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY
offerId,
impressions DESC,
clicks DESC
LIMIT
Mit der LIMIT
-Klausel können Sie die Anzahl der zurückzugebenden Ergebnisse angeben.
In diesem Beispiel werden nur 50 Ergebnisse zurückgegeben, auch wenn mehr Zeilen verfügbar sind.
SELECT offerId, impressions
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY impressions DESC
LIMIT 50
Verwenden Sie das Feld pageSize
für lange Ergebnislisten.
Zeiträume
In der MCQL können Sie einen benutzerdefinierten oder relativen Zeitraum angeben. Sie müssen die Methode
WHERE
-Klausel, um einen date
-Bereich für die gesamte Leistung
abfragen.
Benutzerdefiniert
Sie können ISO 8601-Daten(JJJJ-MM-TT) in den folgenden Formaten angeben:
date BETWEEN '2021-01-01' AND '2021-01-31'
date >= '2021-01-01' AND date <= '2021-01-31'
Du kannst Datumsstrings entweder mit einfachen Anführungszeichen ('
) oder mit doppelten Anführungszeichen definieren
("
)
Verwandter
Sie können einen relativen Zeitraum angeben, z. B. LAST_30_DAYS
oder THIS_MONTH
,
durch Verwendung von DURING
anstelle von BETWEEN
und AND
:
WHERE date DURING LAST_30_DAYS
Eine vollständige Liste der verfügbaren relativen Zeiträume finden Sie unter Grammatik.