برای هر دانشآموز، نام و بالاترین نمرهی او در سه ستون math_score، physics_score و chemistry_score را از جدول students با استفاده از تابع GREATEST نمایش دهید.
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:23 0.0
برای حل این مسئله از یک پرسوجوی ساده SELECT استفاده کنید: ستون نام و نتیجهی GREATEST(math_score, physics_score, chemistry_score) را انتخاب و با AS یک نام مستعار مثل max_score بدهید. توجه داشته باشید که در MySQL اگر هر یک از آرگومانها NULL باشد، GREATEST نتیجه را NULL برمیگرداند؛ در صورت نیاز از COALESCE برای جایگزینی مقدار پیشفرض (مثلاً 0) استفاده کنید: GREATEST(COALESCE(math_score,0), ...). همچنین میتوانید نتایج را با ORDER BY max_score DESC مرتب یا با WHERE فیلتر کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای محاسبه بالاترین نمره هر دانشآموز با استفاده از GREATEST، به NULLها باید توجه کنی. اگر یکی از آرگومانها NULL باشد، نتیجه GREATEST NULL میشود، پس از COALESCE برای پرکردن NULL با مقدار پیشفرض مثل 0 استفاده کن. نتیجه را با AS یک نام مستعار مثل max_score بده و در صورت نیاز با ORDER BY max_score DESC مرتب کن تا بالاترین امتیازات اول ظاهر شوند. اگر همهٔ سه نمره NULL باشند، نتیجه خام GREATEST برابر NULL خواهد بود و COALESCE میتواند این حالت را به 0 یا مقدار دلخواه تبدیل کند.
گزارش