Merchant Center Query Language

Merchant Center की क्वेरी लैंग्वेज (MCQL), क्वेरी की एक भाषा है. यह एसक्यूएल की तरह ही है. आपने लोगों तक पहुंचाया मुफ़्त में इन कामों के लिए, Merchant Reports API के साथ MCQL का इस्तेमाल किया जा सकता है अपने प्रॉडक्ट और बाज़ार में उनकी प्रतिस्पर्धा का डेटा हासिल कर सकते हैं.

व्याकरण

यहां 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

इन सिंबल का इस्तेमाल किया जा सकता है:

  • ?ज़रूरी नहीं है.
  • * का मतलब है, शून्य या उससे ज़्यादा; + का मतलब है एक या एक से ज़्यादा.
  • (xxxxxx) एक ग्रुपिंग को दिखाता है.
  • [a-z0-9], वर्ण रेंज को दिखाता है.
  • | का मतलब है "या".

केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होना

ज़्यादातर MCQL ऑपरेटर केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होते हैं:

ऑपरेटर केस सेंसिटिविटी
= या != केस संवेदी
(नहीं) केस संवेदी
(नहीं) केस संवेदी
इसमें (...) शामिल है केस संवेदी
REGEXP_MATCH वैकल्पिक रूप से दोनों

उपनियम

यहां कुछ क्लॉज़ दिए गए हैं जिनके बारे में MCQL से क्वेरी की जा सकती है:

चुनें

SELECTक्लॉज़, फिर से हासिल करने के लिए फ़ील्ड की कॉमा-सेपरेटेड लिस्ट लेता है.

इस्तेमाल किए जा रहे व्यू से, कोई भी फ़ील्ड चुना जा सकता है. यहां इसके कुछ उदाहरण दिए गए हैं इन फ़ील्ड का चयन कर सकते हैं:

एक ही अनुरोध में कई तरह के फ़ील्ड के लिए क्वेरी की जा सकती है. यहां एक उदाहरण दिया गया है:

SELECT
  date,
  marketingMethod,
  impressions,
  clicks
FROM ProductPerformanceView
WHERE date BETWEEN '2020-08-01' AND '2020-08-31'

FROM

FROM क्लॉज़ उस टेबल के बारे में बताता है जिससे अनुरोध में डेटा फ़ेच किया जाता है. आप FROM क्लॉज़ में सिर्फ़ एक फ़ील्ड के बारे में बताएं. इसके लिए FROM क्लॉज़ ज़रूरी है सभी क्वेरी.

WHERE

अपने अनुरोध के डेटा को फ़िल्टर करने के लिए, 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".

यहां एक उदाहरण दिया गया है, जिसमें हर ऑफ़र पर मिलने वाले क्लिक की संख्या दिखती है. यहां के महीने में ADS मार्केटिंग तरीके के लिए, 100 से ज़्यादा क्लिक अगस्त:

SELECT offerId, clicks
FROM ProductPerformanceView
WHERE clicks > 100
  AND marketingMethod = 'ADS'
  AND date BETWEEN '2020-08-01' AND '2020-08-31'

WHERE क्लॉज़ में OR इस्तेमाल नहीं किया जा सकता. ऑपरेटर केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होते हैं. ऑपरेटर की पूरी सूची, व्याकरण देखें.

इस हिसाब से ऑर्डर करें (ज़रूरी नहीं)

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 आपको एक कस्टम या संबंधित तारीख की सीमा तय करने देता है. आपको विज्ञापनों को प्रोसेस करने के लिए, सभी परफ़ॉर्मेंस के लिए date रेंज तय करने के लिए WHERE क्लॉज़ क्वेरी पढ़ें.

कस्टम

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, BETWEEN और AND के बजाय, DURING का इस्तेमाल करके:

WHERE date DURING LAST_30_DAYS

उपलब्ध तुलनात्मक तारीख सीमाओं की पूरी सूची के लिए व्याकरण देखें.