คุณส่งการค้นหาช่องเมตริกและกลุ่มไปยังเมธอด reports.search
ได้ หากต้องการสร้างการค้นหาในภาษาสำหรับการค้นหาของ Merchant Center คุณต้องสร้างการค้นหาโดยใช้ไวยากรณ์ของภาษาก่อน
การค้นหาประกอบด้วยหลายส่วน ดังนี้
SELECTFROMWHEREORDER BYLIMIT
โดยใช้ชื่อฟิลด์ ชื่อตาราง โอเปอเรเตอร์ เงื่อนไข และ การจัดเรียงเพื่อช่วยคุณเลือกข้อมูลที่ต้องการ เมื่อรวมเป็นคำค้นหาเดียวแล้ว คุณจะส่งคำขอได้โดยใช้ 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.datesegments.program
เมตริก
metrics.impressionsmetrics.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