بنية طلب البحث

يمكن إرسال طلبات البحث لحقول المقاييس والشرائح إلى الطريقة 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 بسبب القيود التالية:

  • البحث في حقول شرائح بدون حقل مقياس واحد على الأقل

يمكن العثور على معلومات متعلّقة بالشرط أعلاه في المستندات المرجعية.

مِن

تحدد العبارة FROM الجدول الذي تريد جلب البيانات منه في الطلب. يحدد الجدول الوارد في عبارة FROM الحقول التي يمكن استخدامها من خلال جميع البنود الأخرى لطلب البحث المحدد. يمكن تحديد جدول واحد فقط في الفقرة FROM. في الوقت الحالي، لا يتوفّر سوى جدول MerchantPerformanceView. عبارة FROM مطلوبة في الاستعلام إلى الطريقة search في خدمة reports.

أين؟

تحدّد بند WHERE الشروط التي يجب تطبيقها عند فلترة البيانات للطلب. عند استخدام عبارة WHERE، يمكن تحديد شرط واحد أو أكثر باستخدام 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 لتقييد العدد الإجمالي للنتائج لطلب البحث التالي:

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