با استفاده از تابع 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 نتایج غیرمنتظره ندهد.

توسط پژوهشگر در 221 روز قبل ساعت 01:17
دسته بندی ها: MySQL MySQL for beginner
reyhaneh در 221 روز قبل ساعت 13:50

برای هر دسته‌بندی در جدول 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;

گزارش

1 پاسخ

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

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