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

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