โครงสร้างการค้นหา

คุณสามารถส่งคำค้นหาสำหรับช่องเมตริกและกลุ่มไปยังเมธอด 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