برای جدول sales که ستونی به نام amount دارد، یک پرسوجو بنویسید که مقدار اصلی amount و لگاریتم طبیعی و لگاریتم پایه 10 آن را برای هر ردیف معتبر (فقط مقدارهای بزرگتر از صفر) نمایش دهد.
5.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:15 0.0
در MySQL از تابع LOG(x) برای لگاریتم طبیعی و از فرم دو آرگومانی LOG(base, x) برای لگاریتم با پایهٔ دلخواه استفاده کنید (یا از LOG10(x) برای پایه 10 و LN(x) برای طبیعی). در پرسوجوی SELECT ستون amount را همراه با LOG(amount) و LOG(10, amount) انتخاب کرده و با WHERE amount > 0 ردیفهای نامعتبر را حذف کنید؛ در صورت نیاز نتایج را با ROUND گرد کنید تا خواناتر شوند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جدول sales و ستون amount، توجه کنید که در MySQL LOG(x) لگاریتم طبیعی است و LOG(10, x) یا LOG10(x) لگاریتم پایهٔ 10 را برمیگردانند. اگر میخواهید خروجیها بدون مقدارهای نامعتبر باشند، شرط WHERE amount > 0 کافی است و NULLها را حذف میکند. برای خواناتر شدن نتیجه، میتوانید مقدار لگاریتمها را با ROUND یا FORMAT گرد کنید تا عددها با دو رقم اعشار نمایش یابند. همچنین پیشنهاد میکنم بهجای تکرار عبارتهای طولانی، از aliasها مانند AS amount, AS log_nat, AS log_base10 استفاده کنید تا استفاده در گزارشها آسانتر شود.
گزارش