در یک پایگاه داده MySQL، با استفاده از تابع تجمعی MAX بیشترین حقوق (salary) برای هر بخش (department) را از جدول employees نمایش دهید.

6.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:14

0.0

برای حل این سوال از تابع تجمعی MAX در کنار GROUP BY استفاده کنید؛ مثلاً: SELECT department, MAX(salary) AS max_salary FROM employees GROUP BY department; در MySQL می‌توانید با ORDER BY max_salary DESC نتایج را مرتب کنید و با WHERE رکوردها را پیش‌فیلتر کنید؛ برای مقابله با مقادیر NULL از IFNULL یا COALESCE استفاده کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:14
دسته بندی ها: MySQL MySQL for beginner
nima در 201 روز قبل ساعت 07:03

استفاده از تابع MAX با GROUP BY برای هر بخش، بیشترین حقوق را به‌خوبی نمایش می‌دهد. توجه کنید MAX هنگام وجود NULL در salary آن را نادیده می‌گیرد و در بخش‌هایی که تمام مقادیر NULL هستند نتیجه NULL می‌ماند. برای مدیریت NULLها می‌توانید از COALESCE یا IFNULL استفاده کنید تا مقادیر جایگزین شوند یا از HAVING MAX(salary) IS NOT NULL برای فیلتر کردن بخش‌های بدون حقوق. برای بهینه‌سازی، از ORDER BY max_salary DESC استفاده کنید و روی ستون‌های department و salary ایندکس مناسب ایجاد کنید.

گزارش

1 پاسخ

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

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