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

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