คุณสามารถส่งคำค้นหาสำหรับช่องเมตริกและกลุ่มไปยังเมธอด 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
ได้เพียงตารางเดียวเท่านั้น ปัจจุบันรองรับเฉพาะตาราง 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
ใช้เพื่อจำกัดจำนวนผลลัพธ์ทั้งหมดสำหรับคำค้นหาต่อไปนี้
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