با استفاده از تابع LEAST و گروهبندی، برای هر دستهبندی در جدول products که ستونهای price1، price2 و price3 و ستون category دارد، پایینترین قیمت ممکن بین این سه ستون را برای هر دسته نمایش دهید.
3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:17 0.0
در MySQL میتوانید ابتدا برای هر رکورد کمترین مقدار بین price1، price2 و price3 را با تابع LEAST محاسبه کنید و سپس با تابع تجمعی MIN و GROUP BY پایینترین مقدار آنها را برای هر category بدست آورید؛ نمونه کوئری: SELECT category, MIN(LEAST(price1, price2, price3)) AS min_price FROM products GROUP BY category. برای مدیریت NULLها از COALESCE یا مقادیر پیشفرض استفاده کنید تا LEAST نتایج غیرمنتظره ندهد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای هر دستهبندی در جدول products با استفاده از MIN(LEAST(price1, price2, price3)) میتوانید پایینترین قیمت را بدست آورید. توجه کنید که LEAST در صورت وجود NULL ممکن است نتیجه NULL بدهد، پس هر قیمت را با COALESCE به مقدار جایگزین بدهید تا نتیجه ناپایدار نشود. اگر همه قیمتها NULL باشند، رکورد میتواند روی مقدار جایگزین تأثیر بگذارد، پس بهتر است پیش از GROUP BY فیلتر کنید یا از مقدار پیشفرض با احتیاط استفاده کنید. بهعنوان نمونه: SELECT category, MIN(LEAST(COALESCE(price1, 1e12), COALESCE(price2, 1e12), COALESCE(price3, 1e12))) AS min_price FROM products GROUP BY category;
گزارش