لینک‌های مفید برای شرکت در مسابقه:

در طول مسابقه می‌توانید سؤالات خود را از قسمت «سؤال بپرسید» مطرح کنید.

استخراج - دیتابیس


کد شما باید روی نسخه‌ی استاندارد MySQL قابل اجرا باشد.


جدولی با نام orders برای نگه‌داری اطلاعات سفارش‌ها موجود است که ساختار آن به‌شرح زیر است:

نام نوع تعریف ملاحضات
id int شناسه‌ی سفارش primary key
customer_id int شناسه‌ی مشتری foreign key customers
status enum وضعیت سفارش که یکی از حالات در انتظار پرداخت، در انبار، کنسل‌شده و تحویل‌داده‌شده است یکی از مقادیر wait_payment، warehouse، canceled و sent می‌باشد
created_at date تاریخ ثبت سفارش

همچنین جدولی با نام customers برای نگه‌داری اطلاعات کاربران با ساختار زیر داریم:

نام نوع تعریف ملاحظات
id int شناسه‌ی مشتری primary key
name varchar نام مشتری
is_blocked bool آیا فعالیت مشتری در سایت ممنوع شده است؟ Nullable، مقدار ۱ برای مشتری‌های بلاک‌شده است و مقدار صفر یا null برای مشتری عادی است

مطلوبات🔗

کوئری‌های SQL خواسته‌شده از شما موارد زیر است (هر کوئری نمره‌ای جداگانه دارد و اگر کوئری یک قسمت را نتوانستید بزنید، کوئری‌هایی که حل کردید را بفرستید و قسمت آن کوئری را خالی بگذارید):


بخش ۱) کوئری‌ای بنویسید که لیست تمامی سفارشاتی که در انبار هستند را برگرداند. خروجی باید شامل یک جدول با یک ستون order_id باشد که به‌ترتیب شناسه‌ی سفارش و به‌صورت نزولی مرتب شده‌اند.


بخش ۲) کوئری‌ای بنویسید که شناسه و نام تمامی مشتریانی که تا به حال سفارشی ثبت نکرده‌اند را برگرداند. خروجی باید شامل دو ستون با نام‌های customer_id و customer_name باشد که به‌ترتیبِ نام مشتری و به‌صورت صعودی مرتب شده‌اند.


بخش ۳) نرخ سفارشات کنسل‌شده برابر است با تعداد تمامی سفارشات کنسل‌شده برای مشتریان عادی (بلاک‌نشده) تقسیم بر تعداد سفارشات برای مشتریان عادی. کوئری‌ای بنویسید که نرخ کنسل شدن را در هر روز تا دو رقم اعشار محاسبه کند. خروجی باید شامل یک جدول با دو ستون با نام‌های date و cancellation_rate باشد. توجه کنید که در جدول خروجی تنها باید شامل تاریخ‌هایی که در آن‌ها سفارش ثبت شده است باشد. برای نمایش نرخ سفارشات باید عدد محاسبه‌شده را در ۱۰۰ ضرب کرده و با استفاده از تابع format تا دو رقم اعشار آن را گرد کنید تا به‌صورت درصد قابل نمایش باشد.


آن‌چه باید آپلود کنید🔗

کد خود را در قالب زیر، در یک فایل با نام code.sql قرار دهید و آن را ارسال کنید:

-- Section1
    your first query here
-- Section2
    your second query here
-- Section3
    your third query here
SQL
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.