برای هر سفارش در جدول orders مقدار باقیمانده تقسیم ستون total_amount بر 100 را محاسبه و همراه order_id نمایش بده و فقط سطرهایی را نشان بده که این باقیمانده بزرگتر از صفر باشد.
0.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:32 0.0
برای حل این مسئله از تابع MOD در MySQL استفاده کنید: SELECT order_id, MOD(total_amount, 100) AS remainder FROM orders WHERE MOD(total_amount, 100) > 0; دقت کنید اگر total_amount مقدار NULL یا عدد اعشاری دارد از COALESCE یا CAST/ROUND/FLOOR برای تبدیل مناسب استفاده کنید تا نتیجه مورد انتظار (باقیمانده صحیح) بدست آید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از خطاهای NULL یا اعشار در محاسبه باقیمانده، بهتر است مقدار total_amount را با COALESCE به صفر تبدیل کنیم. اگر میخواهید با اعداد صحیح کار کنید، میتوانید از CAST/FLOOR استفاده کنید تا باقیماندهٔ صحیحی به دست آید. مثلاً عبارت MOD(CAST(FLOOR(total_amount) AS UNSIGNED), 100) را با شرط MOD(...) > 0 بکار ببرید تا فقط ردیفهایی با باقیماندهٔ مثبت نمایش داده شوند. توجه کنید MOD با مقادیر NULL نتیجه NULL میدهد؛ therefore استفاده از COALESCE میتواند مفید باشد.
گزارش