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

برای مشخص کردن رشته‌ها، از کاراکتر «'» استفاده کنید و نه «"».

تحلیل بهینه‌ی سفارش‌ها


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


یکی از تیم‌های فنی گروه اسنپ قصد دارد برخی از کوئری‌های خود که مربوط به بخش سفارش‌ها هستند را با استفاده از ایندکس‌ها سریع‌تر کند. به آن‌ها در این کار کمک کنید.

جزئیات پروژه🔗

داده‌های سؤال را از این لینک دانلود کنید.

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

نام ستون نوع تعریف
id BIGINT(20) شناسه‌ی سفارش
user_id BIGINT(20) شناسه‌ی کاربر سفارش‌دهنده
total DECIMAL(10,2) مبلغ سفارش
created_at DATETIME زمان ثبت سفارش

مطلوبات🔗

کوئری‌های SQL خواسته‌شده از شما، موارد زیر است:

  1. کوئری ساخت ایندکس جهت بهینه‌سازی حداکثری سرعت محاسبه‌ی مجموع مبلغ سفارش‌ها در سال ۲۰۲۰:
SELECT SUM(total)
FROM orders
WHERE created_at BETWEEN '2020-01-01 00:00:00' AND '2020-12-31 23:59:59'
SQL
  1. کوئری ساخت ایندکس جهت بهینه‌سازی حداکثری سرعت محاسبه‌ی مجموع مبلغ سفارش‌های کاربری با شناسه‌ی ۳۴۵ در سال ۲۰۲۰:
SELECT SUM(total)
FROM orders
WHERE created_at BETWEEN '2020-01-01 00:00:00' AND '2020-12-31 23:59:59'
AND user_id = 345
SQL

نکته: تعداد کاربران بسیار بیشتر از حداکثر تعداد سفارش‌های یک کاربر است.

  1. مجموع مبلغ سفارش‌ها به ازای هر روز، به‌ترتیب صعودی تاریخ؛ نتیجه به‌ترتیب شامل ستون تاریخ و ستون مجموع مبلغ سفارش‌ها باشد. تاریخ باید به فرمت Y-m-d باشد. همچنین، تاریخ‌هایی بین تاریخ‌های موجود در جدول که در آن‌ها سفارشی ثبت نشده است نیز باید در نتیجه موجود باشند. نام ستون‌های خروجی اهمیت ندارد.

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

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

پس از طراحی کوئری‌ها، کد خود را در قالب زیر در یک فایل با پسوند .sql آپلود کنید.

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