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

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

เช่น คุณใช้ 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