برای جدول 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 گرد کنید تا خواناتر شوند.

توسط پژوهشگر در 221 روز قبل ساعت 01:15
دسته بندی ها: MySQL MySQL for beginner
arman در 221 روز قبل ساعت 13:58

برای جدول 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 استفاده کنید تا استفاده در گزارش‌ها آسان‌تر شود.

گزارش

1 پاسخ

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

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