برای هر دانش‌آموز، نام و بالاترین نمره‌ی او در سه ستون 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 فیلتر کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:23
دسته بندی ها: MySQL MySQL for beginner
arash در 202 روز قبل ساعت 09:52

برای محاسبه بالاترین نمره هر دانش‌آموز با استفاده از GREATEST، به NULLها باید توجه کنی. اگر یکی از آرگومان‌ها NULL باشد، نتیجه GREATEST NULL می‌شود، پس از COALESCE برای پرکردن NULL با مقدار پیش‌فرض مثل 0 استفاده کن. نتیجه را با AS یک نام مستعار مثل max_score بده و در صورت نیاز با ORDER BY max_score DESC مرتب کن تا بالاترین امتیازات اول ظاهر شوند. اگر همهٔ سه نمره NULL باشند، نتیجه خام GREATEST برابر NULL خواهد بود و COALESCE می‌تواند این حالت را به 0 یا مقدار دلخواه تبدیل کند.

گزارش

1 پاسخ

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

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