【问题标题】:MySQL: Selecting rows ordered by character countMySQL:选择按字符数排序的行
【发布时间】:2026-01-20 21:55:01
【问题描述】:

在 MySQL 中,如何按字符数排序查询?

【问题讨论】:

    标签: mysql select sql-order-by


    【解决方案1】:

    尝试使用LENGTH函数:

    SELECT * FROM table ORDER BY LENGTH(myField);
    

    根据您的操作,您可能希望改用CHAR_LENGTH

    多字节字符计为单个字符。这意味着对于包含五个 2 字节字符的字符串,LENGTH() 返回 10,而 CHAR_LENGTH() 返回 5。

    如果你不知道这意味着什么,你可能想要LENGTH

    【讨论】:

    • 在 MySQL 中 ... 做什么? ;-)
    • 是的,我编辑它只使用可怕的星号。 :) 我想我宁愿提出一个效率低下的查询而不是一个不工作的查询。
    • 嗯,甚至 MySQL 自己的文档也使用省略号来表示省略的代码:dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html。在编程中使用“...”来表示可变参数或省略是很常见的。
    • 好吧,他们在内联文本上使用它,但每当他们分成一个代码块时,他们使用表名。我觉得这可能是最好的方法。
    • 哇,我从来没有预料到我会引起如此有原则的交流,我只是在笑:)