برای هر محصول در جدول products که ستون‌های price_a، price_b و price_c را دارد، با استفاده از تابع LEAST در MySQL حداقل قیمت موجود در هر ردیف را نمایش دهید.

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

0.0

با استفاده از SELECT می‌توانید تابع LEAST را روی سه ستون فراخوانی کنید، مثلاً SELECT id, LEAST(price_a, price_b, price_c) AS min_price FROM products; توجه داشته باشید که LEAST در صورت وجود NULL در هر آرگومان، نتیجه NULL برمی‌گرداند، بنابراین برای نادیده گرفتن NULL‌ها می‌توانید از IFNULL یا COALESCE برای جایگزینی مقدار پیش‌فرض بزرگ استفاده کنید (مثلاً IFNULL(price_a, 999999)) و یا نتایج را پس از محاسبه مرتب یا فیلتر کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:58
دسته بندی ها: MySQL MySQL for beginner
arman در 201 روز قبل ساعت 04:30

نکته کلیدی این است که LEAST وقتی یکی از آرگومان‌ها NULL باشد، نتیجه‌ای NULL برمی‌گرداند. برای نادیده گرفتن NULLها می‌توانید از IFNULL/COALESCE استفاده کرده و یک مقدار sentinel بزرگ جایگزین کنید، سپس با NULLIF نتیجه را به NULL بازگردانید. مثلاً می‌توانید از این الگو استفاده کنید: SELECT id, NULLIF(LEAST(IFNULL(price_a, 9999999999), IFNULL(price_b, 9999999999), IFNULL(price_c, 9999999999)), 9999999999) AS min_price FROM products; اگر همه قیمت‌ها NULL باشند، min_price برابر NULL می‌شود و در غیر این صورت کمترین مقدار بین سه قیمت نمایش داده می‌شود.

گزارش

1 پاسخ

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

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