یک پرسوجو بنویسید که مجموع مبلغ فروش (sum(amount)) را به تفکیک شماره هفته تقویمی از ستون order_date در جدول orders محاسبه کند و نتایج را به ترتیب زمانی صعودی نمایش دهد.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:16 0.0
برای حل این مسئله در MySQL از تابع YEARWEEK(order_date) برای گروهبندی بر اساس سال+شماره هفته استفاده کنید؛ سپس از GROUP BY YEARWEEK(order_date) و ORDER BY YEARWEEK(order_date) برای مرتبسازی زمانی بهره بگیرید. در صورت نیاز به شروع هفته از روز خاص (مثلاً شنبه یا دوشنبه) میتوانید پارامتر دوم YEARWEEK(date, mode) را تنظیم کنید و برای نمایش خواناتر، از DATE_FORMAT یا ترکیب YEAR(order_date) و WEEK(order_date, mode) به عنوان برچسب هفته استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای گروهبندی مجموع فروشها از مقدار SUM(amount) بر اساس هفتههای تقویم، از YEARWEEK(order_date) استفاده کنید و با GROUP BY YEARWEEK(order_date) نتایج را به دست آورید. برای مرتبسازی زمانی صعودی از ORDER BY YEARWEEK(order_date) استفاده کنید. اگر میخواهید هفته را از روز خاصی آغاز کنید، پارامتر دوم YEARWEEK(date, mode) را تنظیم کنید (مثلاً mode=1 یا 3). برای نمایش برچسبهای خواناتر، میتوانید YEAR و WEEK را با هم ترکیب کنید، مثل CONCAT(YEAR(order_date), 'W', WEEK(order_date, mode)).
گزارش