MAX - совокупная функция .При работе с типом данных числового столбца он вернет самое высокое значение.Для символьных столбцов MAX находит самое высокое значение в последовательности сортировки.В любом случае, он будет возвращать только одно значение на группу - если группы не указаны, он будет возвращать только одно значение.
В результате вам не нужно будет получать длину тела, чтобы вы могли упорядочить результаты -у вас есть две опции:
- LEN возвращает количество символов, а не количество байтов, данного строкового выражения, исключая конечные пробелы.
- DATALENGTH возвращает количество байтов, используемых для представления любого выражения.DATALENGTH особенно полезен для типов данных varchar, varbinary, text, image, nvarchar и ntext, поскольку эти типы данных могут хранить данные переменной длины.DATALENGTH из NULL равен NULL.
Таким образом, вы хотите использовать следующий запрос:
SELECT TOP 10 p.body
FROM POSTS p
ORDER BY DATALENGTH(p.body) DESC