คุณส่งการค้นหาช่องเมตริกและกลุ่มไปยังเมธอด reports.search
ได้ หากต้องการสร้างการค้นหาในภาษาสำหรับการค้นหาของ Merchant Center คุณต้องสร้างการค้นหาโดยใช้ไวยากรณ์ของภาษาก่อน
การค้นหาประกอบด้วยหลายส่วน ดังนี้
SELECT
FROM
WHERE
ORDER BY
LIMIT
โดยใช้ชื่อฟิลด์ ชื่อตาราง โอเปอเรเตอร์ เงื่อนไข และ การจัดเรียงเพื่อช่วยคุณเลือกข้อมูลที่ต้องการ เมื่อรวมเป็นคำค้นหาเดียวแล้ว คุณจะส่งคำขอได้โดยใช้ Google Content API for Shopping มาดูวิธีใช้แต่ละ ข้อกัน
ข้อ
SELECT
อนุประโยค SELECT
ระบุชุดฟิลด์ที่จะดึงข้อมูลในคำขอ SELECT
รับรายการฟิลด์และเมตริกของกลุ่มที่คั่นด้วยคอมมา แล้วส่งคืนค่า
ในการตอบกลับ ต้องระบุSELECT
ในคำค้นหา
ต่อไปนี้คือตัวอย่างคําค้นหาที่เลือกเมตริกการคลิกจากตารางที่กําหนด
SELECT
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
นอกจากนี้ คุณยังค้นหาฟิลด์ประเภทต่างๆ ในคำขอเดียวได้ด้วย
SELECT
segments.date,
segments.program,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ฟิลด์กลุ่ม
segments.date
segments.program
เมตริก
metrics.impressions
metrics.clicks
ระบบไม่อนุญาตให้ใช้บางช่องในข้อกำหนดSELECT
เนื่องจากข้อจำกัดต่อไปนี้
- การค้นหาฟิลด์กลุ่มโดยไม่มีฟิลด์เมตริกอย่างน้อย 1 รายการ
ดูข้อมูลที่เกี่ยวข้องกับเงื่อนไขข้างต้นได้ในเอกสารอ้างอิง
จาก
อนุประโยค FROM
จะระบุตารางที่จะดึงข้อมูลจากคำขอ ตารางในข้อกำหนด FROM
จะกำหนดฟิลด์ที่ข้อกำหนดอื่นๆ ทั้งหมดใช้ได้สำหรับการค้นหาที่ระบุ
ระบุได้เพียงตารางเดียวใน
FROM
clause ปัจจุบันรองรับเฉพาะตาราง MerchantPerformanceView เท่านั้น
ต้องระบุFROM
ในคำค้นหาไปยังเมธอด search
ในบริการ reports
ที่ไหน
ส่วนWHERE
ระบุเงื่อนไขที่จะใช้เมื่อกรองข้อมูลสําหรับคําขอ
เมื่อใช้คําสั่ง WHERE
คุณจะระบุเงื่อนไขอย่างน้อย 1 รายการได้โดยใช้ AND
เพื่อแยกเงื่อนไข แต่ละเงื่อนไขควรเป็นไปตามรูปแบบ
field_name Operator value
ฟิลด์กลุ่มใดก็ได้ที่ใช้ในคําสั่ง WHERE
แต่ต้องระบุฟิลด์เมตริกในคําสั่ง SELECT
เพื่อใช้ในคําสั่ง WHERE
WHERE
ต้องระบุคําสั่งในคําค้นหา
เนื่องจากคุณต้องระบุช่วงวันที่เสมอเมื่อต้องการให้ระบบแสดง
ข้อมูลประสิทธิภาพ
ตัวอย่างการใช้ WHERE
เพื่อแสดงเมตริกจากช่วงเวลาที่กำหนด
SELECT
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
คุณรวมเงื่อนไขหลายรายการเพื่อกรองข้อมูลได้ ตัวอย่างนี้จะแสดงผล จำนวนคลิกต่อข้อเสนอสำหรับโปรแกรม SHOPPING_ADS ที่มีจำนวนคลิกมากกว่า 100 ภายในระยะเวลา 30 วันที่กำหนด
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’;
ในคำค้นหาต่อไปนี้ คุณจะเห็นว่ามีการเลือก segments.date
ไม่ว่าคุณจะเลือก segments.date
หรือไม่ก็ตาม คุณจะต้องระบุช่วงวันที่ที่แน่นอนใน
WHERE
เสมอเพื่อดึงข้อมูลประสิทธิภาพ
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
เมื่อกรอง คุณควรคำนึงถึงการคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของตัวดำเนินการ
ดูรายการโอเปอเรเตอร์ทั้งหมดได้ในไวยากรณ์ของภาษา
ORDER BY
โดยORDER BY
จะระบุลำดับที่จะแสดงผลลัพธ์
ซึ่งช่วยให้คุณจัดเรียงข้อมูลตามลำดับจากน้อยไปมากหรือมากไปน้อย
โดยอิงตามชื่อฟิลด์ได้ การเรียงลำดับแต่ละรายการจะระบุเป็น field_name
ตามด้วย
ASC
หรือ DESC
หากไม่ได้ระบุทั้ง ASC
และ DESC
ค่าเริ่มต้นของลำดับจะเป็น ASC
ใช้ได้เฉพาะฟิลด์ที่ระบุไว้ในข้อSELECT
เท่านั้นในข้อORDER BY
โดยคุณจะระบุคําสั่ง ORDER BY
หรือไม่ก็ได้ในการค้นหา
การค้นหาต่อไปนี้จะจัดเรียงแถวที่แสดงผลตามจำนวนคลิกจากมากไปน้อย
SELECT
segments.offer_id,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC
คุณระบุฟิลด์หลายรายการในคําสั่ง ORDER BY
ได้โดยใช้รายการที่คั่นด้วยคอมมา
การจัดลำดับจะเกิดขึ้นตามลำดับเดียวกับที่ระบุไว้ในคำค้นหา
ตัวอย่างเช่น ในการค้นหานี้ ผลลัพธ์จะจัดเรียงจากน้อยไปมากตาม
offer_id
จากนั้นจัดเรียงจากมากไปน้อยตามจำนวนการแสดงผล แล้วจัดเรียงจากมากไปน้อยตามจำนวนคลิก
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
LIMIT
ช่วยให้คุณระบุจำนวนผลลัพธ์ที่จะแสดงได้
ซึ่งจะเป็นประโยชน์หากคุณสนใจเฉพาะข้อมูลสรุป
เช่น LIMIT
สามารถใช้เพื่อจำกัดจำนวนผลลัพธ์ทั้งหมดสำหรับการค้นหาต่อไปนี้
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