Cấu trúc truy vấn

Bạn có thể gửi các truy vấn về 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 của Merchant Center, trước tiên, bạn cần soạn truy vấn bằng cách sử dụ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ệnthứ 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 đề.

Điều khoản

SELECT

Mệnh đề SELECT chỉ định một tập hợp các trường để tìm nạp trong yêu cầu. SELECT lấy một danh sách được phân tách bằng dấu phẩy gồm các trường và chỉ số phân đoạn, trả về các giá trị trong phản hồi. Mệnh đề SELECTbắt buộc trong một truy vấn.

Dưới đây là truy vấn mẫu chọn 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 đoạn

    • segments.date
    • segments.program
  • Chỉ số

    • metrics.impressions
    • metrics.clicks

Một số trường không được phép 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ể tìm thấy thông tin liên quan đến tình trạng 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 có thể dùng được cho tất cả các mệnh đề khác đối với truy vấn nhất định. Bạn chỉ có thể chỉ định một bảng trong mệnh đề FROM. Hiện tại, chỉ có bảng MerchantPerformanceView được hỗ trợ. Mệnh đề FROMbắ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 sẽ á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 đoạn nào trong mệnh đề WHERE, nhưng các trường chỉ số cần được chỉ định trong mệnh đề SELECT thì mới có thể sử dụng trong mệnh đề WHERE. Mệnh đề WHEREbắt buộc trong truy vấn, vì bạn phải luôn chỉ định phạm vi ngày cho thời điểm bạn muốn trả về dữ liệu hiệu suất.

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 PURCHASE_ADS, trong đó số lượt nhấp lớn hơn 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 có 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 thứ tự được chỉ định là một field_name, theo sau là ASC hoặc DESC. Nếu bạn không chỉ định ASCDESC, thì thứ tự mặc định sẽ là ASC. Bạn chỉ có thể sử dụng các trường được chỉ định trong mệnh đề SELECT trong mệnh đề ORDER BY. Mệnh đề ORDER BYkhông bắt buộc trong một 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 được phân tách bằng dấu phẩy. Thứ tự sẽ diễn ra theo đúng trình tự như được 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

GIỚI HẠN

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ỉ muốn trình bày phần tóm tắt.

Ví dụ: bạn có thể sử dụng LIMIT để giới hạn 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