ลําดับและการจํากัดผลลัพธ์

ภาษาการค้นหาของ Google Ads ช่วยให้คุณจัดเรียงและจำกัดจำนวนแถวที่แสดงในคำตอบการค้นหาได้โดยใช้คําสั่ง ORDER BY และ LIMIT

จัดเรียงผลลัพธ์

คุณระบุลําดับของแถวในคําตอบได้โดยใช้คําสั่ง ORDER BY ซึ่งประกอบด้วยลําดับที่คั่นด้วยคอมมาอย่างน้อย 1 รายการของสิ่งต่อไปนี้

FieldName (ASC | DESC)?

หากคุณไม่ได้ระบุ ASC หรือ DESC หลังชื่อฟิลด์ Google Ads API จะใช้ ASC เป็นค่าเริ่มต้น หากคุณละเว้นคําสั่ง ORDER BY ทั้งหมด ระบบจะแสดงแถวที่ได้กลับมาในลําดับที่ไม่แน่นอน

คําสั่ง ORDER BY ต่อไปนี้จะจัดเรียงรายงานระดับแคมเปญตามการแสดงผลจากมากไปน้อยและชื่อแคมเปญจากน้อยไปมาก

ORDER BY metrics.impressions DESC, campaign.name ASC
  • ตามแอตทริบิวต์ของทรัพยากรที่ไม่ได้เลือก
  • ตามเมตริกที่ไม่ได้เลือก
  • ตามกลุ่มที่ไม่ได้เลือก
  • สําหรับฟิลด์ประเภทต่อไปนี้
    • MESSAGE
    • ฟิลด์ที่ซ้ำได้
    • แอตทริบิวต์ของฟิลด์ที่ซ้ำได้

จํากัดจํานวนผลลัพธ์

คุณจํากัดจํานวนผลลัพธ์ทั้งหมดที่แสดงได้โดยใช้คําสั่ง LIMIT กับ จํานวนเต็มบวก (1 ขึ้นไป; LIMIT 0 ไม่ถูกต้อง) เมื่อรวมคําสั่งนี้กับการจัดเรียงผลลัพธ์ คุณจะสร้างรายงาน "N อันดับแรก" ได้ เช่น รายงานที่มีแคมเปญ 5 รายการที่มีการแสดงผลสูงสุดในช่วง 30 วันที่ผ่านมา

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5

กรองผลลัพธ์

เมื่อรวมตัวกรอง WHERE กับ ORDER BY และ LIMIT โปรดคํานึงถึงข้อจํากัดในการกรองต่อไปนี้

  • ไม่อนุญาตให้กรองกลุ่มโดยไม่เลือกกลุ่ม ยกเว้นฟิลด์กลุ่มวันที่ "หลัก" (segments.date, segments.week, segments.month, segments.quarter และ segments.year)
  • ไม่อนุญาตให้กรองฟิลด์ MESSAGE แบบคอมโพสิตโดยตรง (ยกเว้นข้อความ Wrapper แบบดั้งเดิม เช่น Int64Value และ StringValue) ให้กรองฟิลด์ย่อยสเกลาร์แบบดั้งเดิม (int64, string, bool) หรือฟิลด์ย่อย Enum แทน
  • ไม่อนุญาตให้กรองแอตทริบิวต์ MESSAGE แบบคอมโพสิตของฟิลด์ที่ซ้ำได้ โดยจะกรองได้เฉพาะฟิลด์ย่อยสเกลาร์แบบดั้งเดิม (int64, string, bool), Enum หรือฟิลด์ย่อย Wrapper แบบดั้งเดิมเท่านั้น