Bạn có thể gửi truy vấn cho các trường chỉ số và phân đoạn đến phương thức reports.search
. Để tạo truy vấn bằng Ngôn ngữ truy vấn Merchant Center, trước tiên, bạn cần soạn truy vấn bằng ngữ pháp ngôn ngữ. Truy vấn bao gồm một số mệnh đề:
SELECT
FROM
WHERE
ORDER BY
LIMIT
Mệnh đề sử dụng tên trường, tên bảng, toán tử, điều kiện và thứ tự để giúp bạn chọn dữ liệu mong muốn. Sau khi kết hợp thành một truy vấn duy nhất, bạn có thể gửi yêu cầu bằng Google Content API for Shopping. Hãy xem cách sử dụng từng mệnh đề.
Mệnh đề
SELECT
Mệnh đề SELECT
chỉ định một tập hợp các trường cần tìm nạp trong yêu cầu. SELECT
lấy danh sách các trường và chỉ số phân đoạn được phân tách bằng dấu phẩy, trả về các giá trị trong phản hồi. Mệnh đề SELECT
là bắt buộc trong truy vấn.
Sau đây là truy vấn mẫu chọn các chỉ số lượt nhấp từ một bảng nhất định:
SELECT
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Bạn cũng có thể truy vấn nhiều loại trường trong một yêu cầu:
SELECT
segments.date,
segments.program,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Trường phân khúc
segments.date
segments.program
Chỉ số
metrics.impressions
metrics.clicks
Một số trường không được phép xuất hiện trong mệnh đề SELECT
do quy định hạn chế sau:
- Truy vấn các trường phân đoạn mà không có ít nhất một trường chỉ số.
Bạn có thể xem thông tin liên quan đến điều kiện trên trong tài liệu tham khảo của chúng tôi.
FROM
Mệnh đề FROM
chỉ định bảng để tìm nạp dữ liệu trong yêu cầu. Bảng trong mệnh đề FROM
xác định những trường mà tất cả các mệnh đề khác có thể sử dụng cho truy vấn đã cho. Bạn chỉ có thể chỉ định một bảng duy nhất trong mệnh đề FROM
. Hiện tại, chúng tôi chỉ hỗ trợ bảng MerchantPerformanceView.
Mệnh đề FROM
là bắt buộc trong truy vấn đến phương thức search
trên dịch vụ reports
.
Ở ĐÂU?
Mệnh đề WHERE
chỉ định các điều kiện cần áp dụng khi lọc dữ liệu cho yêu cầu. Khi sử dụng mệnh đề WHERE
, bạn có thể chỉ định một hoặc nhiều điều kiện bằng cách sử dụng AND
để phân tách các điều kiện đó. Mỗi điều kiện phải tuân theo mẫu field_name Operator value
. Bạn có thể sử dụng bất kỳ trường phân khúc nào trong mệnh đề WHERE
, nhưng cần chỉ định các trường chỉ số trong mệnh đề SELECT
để sử dụng trong mệnh đề WHERE
. Mệnh đề WHERE
là bắt buộc trong truy vấn, vì bạn phải luôn chỉ định phạm vi ngày mà bạn muốn dữ liệu hiệu suất được trả về.
Sau đây là ví dụ về cách sử dụng WHERE
để trả về các chỉ số trong một khoảng thời gian nhất định:
SELECT
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Bạn có thể kết hợp nhiều điều kiện để lọc dữ liệu. Ví dụ này sẽ trả về số lượt nhấp trên mỗi mặt hàng cho chương trình SHOPPING_ADS, trong đó số lượt nhấp > 100 trong khoảng thời gian 30 ngày nhất định.
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’;
Trong truy vấn sau, bạn sẽ thấy segments.date
đã được chọn.
Bất kể bạn chọn segments.date
hay không, bạn luôn phải cung cấp một phạm vi ngày hữu hạn trong mệnh đề WHERE
để truy xuất dữ liệu hiệu suất.
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
Khi lọc, bạn cần lưu ý đến việc phân biệt chữ hoa chữ thường của toán tử.
Để xem danh sách đầy đủ các toán tử, hãy tham khảo ngữ pháp ngôn ngữ.
ORDER BY
Mệnh đề ORDER BY
chỉ định thứ tự trả về kết quả. Điều này cho phép bạn sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần dựa trên tên trường. Mỗi đơn đặt hàng được chỉ định là field_name
, theo sau là ASC
hoặc DESC
. Nếu bạn không chỉ định ASC
hoặc DESC
, thì thứ tự mặc định sẽ là ASC
. Chỉ những trường được chỉ định trong mệnh đề SELECT
mới có thể được sử dụng trong
mệnh đề ORDER BY
. Mệnh đề ORDER BY
là không bắt buộc trong truy vấn.
Truy vấn sau đây sắp xếp các hàng được trả về theo số lượt nhấp từ cao nhất đến thấp nhất:
SELECT
segments.offer_id,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC
Bạn có thể chỉ định nhiều trường trong mệnh đề ORDER BY
bằng cách sử dụng danh sách phân tách bằng dấu phẩy. Việc sắp xếp sẽ diễn ra theo trình tự giống như đã chỉ định trong truy vấn.
Ví dụ: trong truy vấn này, kết quả sẽ được sắp xếp theo thứ tự tăng dần theo offer_id
, sau đó theo thứ tự giảm dần theo số lượt hiển thị, sau đó theo thứ tự giảm dần theo số lượt nhấp:
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
Mệnh đề LIMIT
cho phép bạn chỉ định số lượng kết quả sẽ được trả về.
Điều này rất hữu ích nếu bạn chỉ quan tâm đến bản tóm tắt.
Ví dụ: bạn có thể dùng LIMIT
để hạn chế tổng số kết quả cho truy vấn sau:
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