MySQL: порядок по размеру/длине поля

Вот структура таблицы (например, тест):

 __________________________________________
| Field Name     | Data Type               |                 
|________________|_________________________|                 
|    id          |   BIGINT (20)           |                 
|________________|_________________________|                 
|    title       |   varchar(25)           |                 
|________________|_________________________|                 
|    description |   text                  |                 
|________________|_________________________|                 

Запрос типа:

SELECT * FROM TEST ORDER BY description DESC;

Но я хотел бы заказать в поле размер поля/длина описания поля. Тип поля будет TEXT или BLOB.

Ответ 1

SELECT * FROM TEST ORDER BY LENGTH(description) DESC;

Функция LENGTH дает длину строки в байтах. Если вы хотите считать (многобайтные) символы, используйте CHAR_LENGTH:

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description) DESC;

Ответ 2

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);

Ответ 3

Для тех, кто использует MS SQL

SELECT * FROM TEST ORDER BY LEN(field)