ساختار پرس و جو

جستارهای مربوط به فیلدهای متریک و بخش را می توان به روش reports.search ارسال کرد. برای ساختن یک پرس و جو در زبان پرس و جو Merchant Center، ابتدا باید پرس و جو را با استفاده از گرامر زبان بنویسید. یک پرس و جو از تعدادی بند تشکیل شده است:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

بندها از نام فیلدها ، نام جدول ، عملگرها ، شرایط و ترتیب استفاده می کنند تا به شما در انتخاب داده های مورد نظر کمک کنند. پس از ترکیب در یک جستار واحد، می‌توان با استفاده از Google Content API برای خرید، درخواستی ارسال کرد. بیایید ببینیم که چگونه می توان از هر بند استفاده کرد.

بندها

انتخاب کنید

عبارت 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 نشان می‌دهد که در آن تعداد کلیک‌ها در بازه زمانی 30 روزه بیش از 100 است.

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 ترتیب بازگشت نتایج را مشخص می کند. این به شما امکان می دهد تا داده ها را به ترتیب صعودی یا نزولی بر اساس نام فیلد مرتب کنید. هر سفارش به عنوان یک 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