Merchant Center Query Language (MCQL) คือภาษาในการค้นหาซึ่งคล้ายกับ SQL คุณ สามารถใช้ MCQL กับ Merchant Reports API เพื่อทำสิ่งต่อไปนี้ ดึงข้อมูลประสิทธิภาพสำหรับผลิตภัณฑ์ของคุณและตลาดที่ผลิตภัณฑ์แข่งขันอยู่
ไวยากรณ์
นี่คือการอ้างอิงไวยากรณ์ MCQL (ในรูปแบบนิพจน์ทั่วไป)
Query -> SelectClause FromClause? WhereClause? OrderByClause? LimitClause?
SelectClause -> SELECT FieldName (, FieldName)*
FromClause -> FROM TableName
WhereClause -> WHERE Condition (AND Condition)*
OrderByClause -> ORDER BY Ordering (, Ordering)*
LimitClause -> LIMIT PositiveInteger
Condition -> FieldName Operator Value | FieldName BETWEEN Value AND Value
Operator -> = | != | > | >= | < | <= | <> | IN | NOT IN |
CONTAINS ANY | CONTAINS ALL | CONTAINS NONE | DURING |
LIKE | NOT LIKE | REGEXP_MATCH | NOT REGEXP_MATCH
Value -> Number | NumberList | String | StringList | Function
Ordering -> FieldName (ASC | DESC)?
FieldName -> [a-z] ([a-zA-Z0-9._])*
TableName -> [A-Z] ([a-zA-Z_])*
StringList -> ( String (, String)* )
NumberList -> ( Number (, Number)* )
PositiveInteger -> [1-9] ([0-9])*
Number -> -? [0-9]+ (. [0-9] [0-9]*)?
String -> (' Char* ') | (" Char* ")
Function -> LAST_14_DAYS | LAST_30_DAYS | LAST_7_DAYS |
LAST_BUSINESS_WEEK | LAST_MONTH | LAST_WEEK_MON_SUN |
LAST_WEEK_SUN_SAT | THIS_MONTH | THIS_WEEK_MON_TODAY |
THIS_WEEK_SUN_TODAY | TODAY | YESTERDAY
คุณใช้สัญลักษณ์ต่อไปนี้ได้
?
หมายถึงองค์ประกอบที่ไม่บังคับ*
หมายถึง 0 ขึ้นไป+
หมายถึง 1 รายการขึ้นไป(xxxxxx)
หมายถึงการจัดกลุ่ม[a-z0-9]
หมายถึงช่วงอักขระ|
ย่อมาจาก "or"
การคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
โอเปอเรเตอร์ MCQL ส่วนใหญ่จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ดังนี้
โอเปอเรเตอร์ | การพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ |
---|---|
= หรือ != | พิจารณาตัวพิมพ์เล็กและใหญ่ |
(ไม่ใช่) ใน | พิจารณาตัวพิมพ์เล็กและใหญ่ |
(ไม่ใช่) ชอบ | พิจารณาตัวพิมพ์เล็กและใหญ่ |
มี (...) | พิจารณาตัวพิมพ์เล็กและใหญ่ |
REGEXP_MATCH | เลือกทั้ง 2 อย่าง |
ข้อกำหนด
วลีที่คุณสามารถค้นหาด้วย MCQL มีดังนี้
เลือก
คำสั่ง SELECT
จะใช้รายการช่องที่คั่นด้วยจุลภาคเพื่อเรียกข้อมูล
คุณสามารถเลือกฟิลด์ใดก็ได้จากมุมมองที่คุณใช้อยู่ ต่อไปนี้คือตัวอย่างของ ฟิลด์ที่คุณสามารถเลือกได้:
คุณค้นหาช่องได้หลายประเภทในคำขอเดียว เช่น
SELECT
date,
marketingMethod,
impressions,
clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
จาก
อนุประโยค FROM
ระบุตารางที่จะดึงข้อมูลในคำขอ คุณสามารถ
ระบุเพียงฟิลด์เดียวในวรรคคำสั่ง FROM
ต้องมีวรรค FROM
สำหรับ
คำค้นหาทั้งหมด
ที่ไหน
ใช้คำสั่ง WHERE
เพื่อกรองข้อมูลสำหรับคำขอของคุณ วรรค WHERE
จำเป็นต้องระบุสำหรับประสิทธิภาพ
การค้นหา
คุณกรองรายการตาม
กลุ่ม
และเพิ่มเติม
เมตริก หาก
ที่คุณระบุในวรรค SELECT
ต่อไปนี้คือตัวอย่างที่ใช้ WHERE
เพื่อแสดงผลจาก
ระยะเวลา (เดือนสิงหาคม):
SELECT offerId, impressions
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
คุณสามารถกรองตามเงื่อนไขหลายรายการในการค้นหาเดียวได้ด้วยโอเปอเรเตอร์ AND
ใช้ AND
ระหว่างเงื่อนไขที่สมบูรณ์ เช่น WHERE marketingMethod !=
"ADS" AND marketingMethod != "ORGANIC"
คุณไม่สามารถใช้ AND
ระหว่างค่าใน
เงื่อนไขเดียว เช่น WHERE marketingMethod != "ADS" AND "ORGANIC"
นี่คือตัวอย่างที่แสดงจำนวนคลิกต่อข้อเสนอพิเศษ
จำนวนคลิกมากกว่า 100 ครั้งสำหรับวิธีทางการตลาดADS
ระหว่างเดือน
สิงหาคม:
SELECT offerId, clicks
FROM ProductPerformanceView
WHERE clicks > 100
AND marketingMethod = 'ADS'
AND date BETWEEN '2020-08-01' AND '2020-08-31'
วรรค WHERE
ไม่รองรับ OR
โอเปอเรเตอร์คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ สำหรับ
รายการโอเปอเรเตอร์ทั้งหมด โปรดดูที่ grammar
ORDER BY (ไม่บังคับ)
วรรค ORDER BY
ช่วยให้คุณเรียกผลลัพธ์ตามลำดับที่ระบุ
ระบุคำสั่งซื้อตาม fieldName
จากนั้น ASC
หรือ DESC
คุณสามารถสั่งซื้อได้โดย
ที่ระบุไว้ในวรรค SELECT
ของการค้นหา ORDER BY
มีค่าเริ่มต้นเป็น
ASC
หากคุณไม่ได้ระบุ
ข้อความค้นหาต่อไปนี้เรียงลำดับแถวที่แสดงผลตามจำนวนคลิก จากค่าสูงสุด ไปต่ำสุด:
SELECT offerId, clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY clicks DESC
คุณระบุช่องหลายช่องในคำสั่ง ORDER BY
ได้โดยใช้คอมมา
รายการ
ตัวอย่างเช่น ผลลัพธ์ของคำค้นหาต่อไปนี้จะจัดเรียงจากน้อยไปหามากตาม
offerId
จากนั้นเรียงลำดับจากมากไปหาน้อยตามจำนวนการแสดงผลจากมากไปน้อย
เรียงลำดับตามจำนวนคลิก:
SELECT offerId, impressions, clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY
offerId,
impressions DESC,
clicks DESC
LIMIT
วรรค LIMIT
ช่วยให้คุณระบุจำนวนผลลัพธ์ที่จะแสดง
นี่คือตัวอย่างที่แสดงผลการค้นหาเพียง 50 รายการ แม้ว่าจะมีจำนวนแถวมากขึ้นก็ตาม
SELECT offerId, impressions
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'
ORDER BY impressions DESC
LIMIT 50
ใช้ช่อง pageSize
เพื่อจัดการรายการผลลัพธ์ที่ยาว
ช่วงวันที่
MCQL ให้คุณระบุช่วงวันที่ที่กำหนดเองหรือช่วงวันที่สัมพัทธ์ คุณต้องใช้
อนุประโยค WHERE
สำหรับระบุช่วง date
สำหรับ ประสิทธิภาพทั้งหมด
การค้นหา
กำหนดเอง
คุณสามารถระบุวันที่ ISO 8601(YYYY-MM-DD) ได้ในรูปแบบต่อไปนี้
date BETWEEN '2021-01-01' AND '2021-01-31'
date >= '2021-01-01' AND date <= '2021-01-31'
คุณกำหนดสตริงวันที่ได้ด้วยเครื่องหมายคำพูดเดี่ยว ('
) หรือเครื่องหมายคำพูดคู่
("
)
ญาติ
คุณระบุช่วงวันที่สัมพัทธ์ได้ เช่น LAST_30_DAYS
หรือ THIS_MONTH
โดยใช้ DURING
แทน BETWEEN
และ AND
:
WHERE date DURING LAST_30_DAYS
ดูไวยากรณ์สำหรับรายการช่วงวันที่สัมพัทธ์ทั้งหมดที่ใช้ได้