با استفاده از MySQL، از جدول numbers که ستون num دارد، شناسه (id) و جذر عدد (با نام مستعار sqrt_value) را برای تمام سطرهایی که مقدار num بزرگتر یا مساوی صفر است بازیابی کنید و نتیجه را بر اساس sqrt_value به صورت نزولی مرتب نمایید.
9.0 بازدید آخرین ویرایش در 199 روز قبل ساعت 23:34 0.0
برای حل این سؤال از تابع ریاضی SQRT در پرسوجوی SELECT استفاده کنید؛ مثلاً SELECT id, SQRT(num) AS sqrt_value FROM numbers WHERE num >= 0 ORDER BY sqrt_value DESC. توجه داشته باشید که SQRT برای مقادیر منفی مقدار NULL برمیگرداند، بنابراین با WHERE num >= 0 یا با استفاده از CASE/ABS از بروز مقادیر نامعتبر جلوگیری کنید. در صورت نیاز میتوانید خروجی جذر را با ROUND(SQRT(num), 2) گرد کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از SELECT id, SQRT(num) AS sqrt_value FROM numbers WHERE num >= 0 ORDER BY sqrt_value DESC درست است و WHERE num >= 0 از بازگشت NULL برای مقادیر منفی جلوگیری میکند. در صورت نیاز میتوانید خروجی را با ROUND(SQRT(num), 2) گرد کنید یا از CASE برای مدیریت مقادیر منفی استفاده کنید، و توجه کنید که نام مستعار sqrt_value در ORDER BY پذیرفته میشود. اگر این محاسبه مکرراً انجام میشود برای بهبود کارایی میتوانید از ستون تولیدشده (generated column) و ایندکس روی آن استفاده کنید.
گزارش