با استفاده از 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) گرد کنید.

توسط پژوهشگر در 199 روز قبل ساعت 23:34
دسته بندی ها: MySQL MySQL for beginner
arash در 199 روز قبل ساعت 23:35

استفاده از 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) و ایندکس روی آن استفاده کنید.

گزارش

1 پاسخ

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

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