Zapytania dotyczące pól danych i segmentów można wysyłać za pomocą metody reports.search
. Aby utworzyć zapytanie w języku zapytań Merchant Center, musisz najpierw napisać zapytanie, korzystając z gramatyki języka. Zapytanie składa się z kilku klauzul:
SELECT
FROM
WHERE
ORDER BY
LIMIT
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. Przyjrzyjmy się, jak można używać poszczególnych klauzul.
Klauzule
WYBIERZ
Klauzula SELECT
określa zestaw pól do pobrania w żądaniu. 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 segmentu
segments.date
segments.program
Dane
metrics.impressions
metrics.clicks
Niektóre pola są niedozwolone w klauzuli SELECT
z powodu tego ograniczenia:
- Wysyłanie zapytań o pola segmentu bez co najmniej 1 pola wskaźnika.
Informacje związane z powyższym warunkiem znajdziesz w naszej dokumentacji referencyjnej.
FROM
Klauzula FROM
określa tabelę, z której mają być pobierane dane w żądaniu. Tabela w klauzuli FROM
określa, których pól mogą używać wszystkie inne klauzule w danym zapytaniu. W klauzuli FROM
można określić tylko jedną 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 na potrzeby żądania. W przypadku klauzuli WHERE
można określić co najmniej 1 warunek, rozdzielając je znakiem AND
. Każdy warunek powinien być zgodny ze wzorcem field_name Operator value
. W klauzuli WHERE
można używać dowolnego pola 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 WHERE
do zwracania danych z określonego okresu:
SELECT
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Aby filtrować dane, możesz połączyć kilka warunków. Ten przykład zwróci liczbę kliknięć danej 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 tym zapytaniu zauważysz, że wybrano segments.date
.
Niezależnie od tego, czy wybierzesz segments.date
, w klauzuli WHERE
zawsze musisz podać ograniczony zakres dat, aby pobrać dane o skuteczności.
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Podczas filtrowania pamiętaj o tym, czy operator uwzględnia wielkość liter.
Pełną listę operatorów znajdziesz w gramatyce języka.
ORDER BY
Klauzula ORDER BY
określa kolejność, w jakiej mają być zwracane wyniki. Dzięki temu możesz uporządkować dane w porządku rosnącym lub malejącym na podstawie nazwy pola. Każde uporządkowanie jest określone jako field_name
, a następnie ASC
lub DESC
. Jeśli nie określisz wartości ASC
ani DESC
, zamówienie domyślnie przyjmie wartość ASC
. W klauzuli ORDER BY
można używać tylko pól określonych w klauzuli SELECT
. Klauzula ORDER BY
jest w zapytaniu opcjonalna.
To 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 wartości offer_id
, następnie w kolejności malejącej według liczby wyświetleń, a potem w kolejności malejącej według 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 do zwrócenia.
Jest to przydatne, jeśli interesuje Cię tylko podsumowanie.
Na przykład parametru LIMIT
można użyć, aby ograniczyć łączną liczbę 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