Zapytania o pola danych i segmentów można wysyłać do reports.search
metody. Aby utworzyć zapytanie w języku zapytań Merchant Center, musisz najpierw napisać je
zgodnie z gramatyką tego języka.
Zapytanie składa się z kilku klauzul:
SELECTFROMWHEREORDER BYLIMIT
Klauzule używają nazw pól, nazw tabel, operatorów, warunków i kolejności, aby pomóc Ci wybrać odpowiednie dane. Po połączeniu w jedno zapytanie można wysłać żądanie za pomocą interfejsu Google Content API for Shopping. Zobaczmy, jak można używać poszczególnych klauzul.
Klauzule
SELECT
Klauzula SELECT określa zestaw pól, które mają zostać pobrane w żądaniu. Klauzula SELECT przyjmuje listę pól segmentów i danych oddzielonych przecinkami i zwraca wartości w odpowiedzi. Klauzula SELECT jest wymagana w zapytaniu.
Oto przykładowe zapytanie, które wybiera dane o kliknięciach z danej tabeli:
SELECT
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
W jednym żądaniu możesz też wysyłać zapytania o różne typy pól:
SELECT
segments.date,
segments.program,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Pola segmentów
segments.datesegments.program
Dane
metrics.impressionsmetrics.clicks
Niektóre pola są niedozwolone w klauzuli SELECT z powodu tego ograniczenia:
- Wysyłanie zapytań o pola segmentów bez co najmniej 1 pola danych.
Informacje związane z powyższym warunkiem znajdziesz w dokumentacji.
FROM
Klauzula FROM określa tabelę, z której mają zostać pobrane dane w żądaniu. Tabela w klauzuli FROM określa, które pola mogą być używane przez wszystkie inne klauzule w danym zapytaniu. W klauzuli FROM można określić tylko 1 tabelę. Obecnie obsługiwana jest tylko tabela MerchantPerformanceView.
Klauzula FROM jest wymagana w zapytaniu do metody search w usłudze reports.
WHERE
Klauzula WHERE określa warunki, które mają być stosowane podczas filtrowania danych w żądaniu. Gdy używasz klauzuli WHERE, możesz określić co najmniej 1 warunek, oddzielając je za pomocą operatora AND. Każdy warunek powinien mieć postać field_name Operator value. W klauzuli WHERE można używać dowolnych pól segmentów, ale pola danych muszą być określone w klauzuli SELECT, aby można było ich używać w klauzuli WHERE. Klauzula WHERE jest wymagana w zapytaniu, ponieważ zawsze musisz określić zakres dat, dla którego chcesz uzyskać dane o skuteczności.
Oto przykład użycia klauzuli WHERE do zwracania danych z danego okresu:
SELECT
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Możesz połączyć kilka warunków, aby filtrować dane. Ten przykład zwróci liczbę kliknięć każdej oferty w programie REKLAMY_ZAKUPOWE, w którym liczba kliknięć jest większa niż 100 w danym 30-dniowym okresie.
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’;
W poniższym zapytaniu zauważysz, że wybrano segments.date.
Niezależnie od tego, czy wybierzesz segments.date, aby pobrać dane o skuteczności, zawsze musisz podać skończony zakres dat w klauzuli WHERE.
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Podczas filtrowania ważne jest, aby pamiętać o rozróżnianiu wielkości liter przez operatora.
Podczas wysyłania zapytań o metadane za pomocą ciągu zapytania opisanego w gramatyce języka pamiętaj o tych kwestiach.
ORDER BY
Klauzula ORDER BY określa kolejność, w jakiej mają być zwracane wyniki. Umożliwia to uporządkowanie danych w kolejności rosnącej lub malejącej na podstawie nazwy pola. Każda kolejność jest określana jako field_name z dopiskiem ASC lub DESC. Jeśli nie określono ani ASC, ani DESC, domyślnie używana jest kolejność ASC. W klauzuli ORDER BY można używać tylko pól określonych w klauzuli SELECT. Klauzula ORDER BY jest opcjonalna w zapytaniu.
Poniższe zapytanie porządkuje zwrócone wiersze według liczby kliknięć od największej do najmniejszej:
SELECT
segments.offer_id,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC
W klauzuli ORDER BY możesz określić wiele pól, używając listy rozdzielonej przecinkami. Kolejność będzie taka sama jak w zapytaniu.
Na przykład w tym zapytaniu wyniki będą sortowane w kolejności rosnącej według offer_id, a następnie w kolejności malejącej według liczby wyświetleń i liczby kliknięć:
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
Klauzula LIMIT umożliwia określenie liczby wyników, które mają zostać zwrócone.
Jest to przydatne, jeśli interesuje Cię tylko podsumowanie.
Na przykład klauzuli LIMIT można użyć do ograniczenia łącznej liczby wyników w przypadku tego zapytania:
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