با استفاده از تابع CHAR_LENGTH در MySQL، تعداد کاراکترهای ستون name برای هر رکورد جدول users را به همراه id نمایش دهید و نتایج را بر اساس طول نام بهصورت نزولی مرتب کنید.
4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 03:14 0.0
برای حل این سوال از MySQL و تابع CHAR_LENGTH استفاده کنید: یک پرسوجوی SELECT بسازید که id و name و CHAR_LENGTH(name) را (با یک Alias مثل name_len) انتخاب کند و با ORDER BY آن را بهصورت DESC مرتب نماید. توجه کنید که CHAR_LENGTH تعداد کاراکترها را برمیگرداند (برای رشتههای چندبایته مناسبتر است) در حالی که LENGTH تعداد بایتها را میشمارد؛ برای فیلتر کردن میتوانید از شرطهایی مانند WHERE CHAR_LENGTH(name) > 5 استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
توصیه میشود از CHAR_LENGTH برای شمارش تعداد کاراکترها استفاده کنید تا کاراکترهای چندبایتی هم درست محاسبه شوند (برخلاف LENGTH که به بایتها میپردازد). برای نمایش id و name به همراه طول نام، میتوانید CHAR_LENGTH(name) را با aliasی مانند name_len نمایش دهید و سپس ORDER BY name_len DESC کنید تا نتایج بر حسب طول نام بهطور نزولی مرتب شوند. اگر میخواهید NULLها را کنار بگذارید یا امنتر عمل کنید، از COALESCE(name, '') استفاده کنید. و در صورت نیاز میتوانید با WHERE CHAR_LENGTH(name) > N فیلتر کنید تا فقط رکوردهای با طول نام مشخصی نمایش داده شوند.
گزارش