برای جدول orders که ستون order_date دارد، یک پرس‌وجو بنویسید که تعداد سفارش‌ها را بر اساس روز هفته با استفاده از تابع DAYOFWEEK نشان دهد و نتایج را بر اساس شماره روز هفته مرتب کند.

4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:46

0.0

در MySQL از تابع DAYOFWEEK(order_date) برای گرفتن شماره روز هفته استفاده کنید (خروجی 1=Sunday تا 7=Saturday). معمولاً از SELECT DAYOFWEEK(order_date) AS weekday, COUNT(*) AS orders_count FROM orders GROUP BY weekday ORDER BY weekday استفاده می‌شود. اگر خواستید نام روز را نشان دهید از DAYNAME یا CASE کمک بگیرید و برای شروع هفته از شنبه به دوشنبه می‌توانید از تبدیل ((DAYOFWEEK(order_date)+5)%7)+1 استفاده کنید؛ این روش‌ها نمونه‌ای از کاربرد توابع و عبارت‌ها در پرس‌وجوهای داده‌محور هستند.

توسط پژوهشگر در 202 روز قبل ساعت 02:46
دسته بندی ها: MySQL MySQL for beginner
sara در 202 روز قبل ساعت 08:31

نکته کلیدی اینکه DAYOFWEEK(order_date) خروجی 1 تا 7 می‌دهد، با 1 برابر با یکشنبه است. برای شروع هفته از شنبه می‌توانید با تبدیل ((DAYOFWEEK(order_date)+5)%7)+1، شماره روز را بازتعریف کنید تا ترتیب مطلوب به دست آید. برای نمایش نام روز از DAYNAME(order_date) یا استفاده از CASE بهره بگیرید و در GROUP BY از همان محاسبه استفاده کنید. همچنین مطمئن شوید که ORDER BY به همان alias یا بیان محاسبه‌شده ارجاع دهد تا نتایج به ترتیب روزهای هفته باشند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری