.لینکهای مفید برای شرکت در مسابقه:
میتوانید سوالهای خود را از بخش "سوال بپرسید" مطرح کنید.
زمان مسابقه به دلیل جنبهی استخدامی، بیشتر از حد معمول در نظر گرفته شده تا بتوانید کدهایتان را سر فرصت و تمیز بزنید؛ نحوه پیادهسازی کدها توسط شما برای دعوت به مصاحبه بسیار مهم است.
کد شما باید روی نسخهی استاندارد MySQL قابل اجرا باشد. برای چک کردن سینتکس کد SQL خود میتوانید از این وبسایت کمک بگیرید.
محمود بهتازگی در تیم فنی اسنپ باکس استخدام شده و برای شروع، تسکهای مختلفی به او محول شده است. او باید اطلاعات مختلفی را در MySQL دریافت کند تا بتوانند خدمات بهتری به کاربران ارائه دهند.
فایل دادههای اولیه برای تست نمونه را از این لینک دانلود کنید.
جداولی که محمود قرار است با آنها کار کند بهشرح زیر هستند:
users
):نام ستون | نوع | تعریف | ملاحضات |
---|---|---|---|
id |
int(11) |
شناسهی کاربر | primary key auto_increment |
name |
varchar(255) |
نام کاربر | |
phone |
varchar(255) |
شماره تماس کاربر |
drivers
):نام ستون | نوع | تعریف | ملاحضات |
---|---|---|---|
id |
int(11) |
شناسهی کاربر | primary key auto_increment |
name |
varchar(255) |
نام کاربر | |
phone |
varchar(255) |
شماره تماس کاربر |
deliveries
):نام ستون | نوع | تعریف | ملاحضات |
---|---|---|---|
id |
int(11) |
شناسهی مرسوله | primary key auto_increment |
user_id |
int(11) |
شناسهی کاربر | foreign key (users:id) |
driver_id |
int(11) |
شناسهی سفیر | foreign key (drivers:id) |
src |
point(latitude, longitude) |
نقطهی مبدأ (طول و عرض جغرافیایی) | |
dest |
point(latitude, longitude) |
نقطهی مقصد (طول و عرض جغرافیایی) | |
requested_at |
datetime |
زمان درخواست ارسال مرسوله | |
delivered_at |
datetime |
زمان تحویل مرسوله |
orders
):نام ستون | نوع | تعریف | ملاحضات |
---|---|---|---|
delivery_id |
int(11) |
شناسهی مرسولهی مربوط به سفارش | primary key & foreign key (deliveries:id) |
price |
decimal(10,2) |
قیمت سفارش |
rates
):نام ستون | نوع | تعریف | ملاحضات |
---|---|---|---|
delivery_id |
int(11) |
شناسهی مرسولهی مربوط به امتیاز | primary key & foreign key (deliveries:id) |
rate |
enum('1', '2', '3', '4', '5') |
امتیاز کاربر به سفارش (۱ به معنای کمترین و ۵ به معنای بیشترین) |
کوئریهای SQL خواستهشده از شما موارد زیر است (توجه کنید که هر کوئری نمرهای جداگانه دارد و اگر کوئری یک قسمت را نتوانستید بزنید، کوئریهایی که حل کردید را بفرستید و قسمت آن کوئری را خالی بگذارید):
Ali
آغاز میشود را بهترتیب صعودی برگردانید (بزرگی و کوچکی حروف مهم نیست).price
در جدول سفارشات باشد.نکته: نام ستونهای خروجی مهم نیست. صرفاً ترتیب آنها مهم است.
کد خود را در قالب زیر، در یک فایل با پسوند .sql
قرار داده و آن را ارسال کنید (فایل را زیپ نکنید).