MySQL排序问题 以字串的长度行排序

我有一table如下
图片说明

希望排序能变成左边的排序,请问题SQL语法如何实现呢

12个回答

select * from table_name order by length(column_name);

希望可以帮到你

nfs629
nfs629 elect * from table_name order by length(column_name);
接近 2 年之前 回复
w172087242
little_how select * from table_name order by length(column_name) desc;
接近 2 年之前 回复

order by asc

select * from 表明 order by length(字段) desc;

select * from @table order by LEN(name) desc

select * from table order by is asc 看你表的字段是is。根据这个字段排序升序就行了。

select * from table_name order by length(column_name) desc;

select * from table_name换成想要的表名 order by length(column_name也换成想要的列名);这样是从短到长排
select * from table_name order by length(column_name) desc;这样是从长到短

select * from table order by LENGTH(字段) desc;

SELECT * FROM 表名 ORDER BY LENGTH(字段名) DESC; 这种就好,但是你要注意mysql 5.0以上版本中文汉字采用utf-8编码时是占用3个字节的,而英文或者数字等字符只占用一个字节位

用LENGTH函数可以获取值的长度,所以SQL语句这样写即可(排序时都是默认的升序ASC,所以该关键字可以省略不写):
SELECT * FROM 表名 ORDER BY LENGTH(排序列字段名)

另外,有时候会需要查询某字段值出现多次的数据,例如手机号出现2次及以上的数据,附上该例子SQL:
SELECT * FROM (
SELECT 长度字段名, COUNT(1) AS LEN FROM 表名 GROUP BY 长度字段名
) T
WHERE T.LEN >1

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐