با استفاده از تابع BIT_COUNT در MySQL، یک پرس‌وجو بنویسید که از جدول numbers ستون value را انتخاب کند و تعداد بیت‌های '1' هر مقدار را به‌عنوان ones_count نمایش دهد و نتایج را بر اساس ones_count نزولی مرتب کند.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:20

0.0

تابع BIT_COUNT(n) تعداد بیت‌های '1' در نمایش دودویی مقدار n را بازمی‌گرداند. برای حل سوال کافی است از SELECT همراه با BIT_COUNT(value) استفاده کنید، مثال: SELECT id, value, BIT_COUNT(value) AS ones_count FROM numbers ORDER BY ones_count DESC; اگر ممکن است مقادیر منفی داشته باشید برای نتیجه قابل پیش‌بینی آنها را به قالب بدون علامت تبدیل کنید مثل BIT_COUNT(CAST(value AS UNSIGNED)) یا از WHERE/ORDER BY برای فیلتر و چیدن خروجی بهره ببرید.

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

برای پرس‌وجوی شما می‌توانید از BIT_COUNT(value) استفاده کنید و نتیجه را با نام مستعار ones_count نمایش دهید. اگر مقادیر منفی دارید، مقدار بیت‌ها می‌تواند غیرمنتظره باشد، بنابراین بهتر است مقدار value را به unsigned تبدیل کنید، مثلاً BIT_COUNT(CAST(value AS UNSIGNED)). سپس خروجی را با ORDER BY ones_count DESC نزولی کنید. اگر نیاز به فیلتر خاصی دارید، می‌توانید از WHERE value >= 0 یا شروط دیگر بهره ببرید.

گزارش

1 پاسخ

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

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