یک پرسوجوی MySQL بنویسید که برای هر رکورد از جدول transactions ستون id و مقدار مطلق اختلاف بین ستون price و ستون cost را نمایش دهد.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:00 0.0
برای حل این مسئله از تابع ABS در بخش SELECT استفاده کنید تا مقدار مطلق تفاضل دو ستون محاسبه شود. نمونه پرسوجو: SELECT id, ABS(price - cost) AS abs_diff FROM transactions;. تابع ABS مقدار منفی را به مثبت تبدیل میکند؛ در صورتی که ستونها ممکن است NULL باشند، میتوانید با COALESCE یا IFNULL مقدار پیشفرض عددی قرار دهید (مثلاً COALESCE(price,0)). همچنین مطمئن شوید نوع داده ستونها عددی است تا نتیجه درست برگشت داده شود و در صورت نیاز از ORDER BY یا WHERE برای فیلتر یا مرتبسازی استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای نمایش مقدار مطلق تفاضل price و cost در هر رکورد transactions، استفاده از ABS(price - cost) مناسب است. اگر ستونها ممکن است NULL باشند، بهتر است از COALESCE برای جایگزینی NULL با مقدار عددی 0 استفاده کنید، مثلاً ABS(COALESCE(price,0) - COALESCE(cost,0)). برای دقت بیشتر در مقادیر مالی، از نوع دادهٔ DECIMAL یا NUMERIC با دقت مناسب استفاده کنید. برای فیلتر یا مرتبسازی میتوانید از WHERE یا ORDER BY روی abs_diff استفاده کنید، اما به کارایی مخصوصاً در دیتاستهای بزرگ توجه کنید.
گزارش