Здравый смысл говорит о том, что order by во view просто не имеет смысла (ни здравого, ни какого другого ;)
Я тебе объясняю. У меня все строковые данные в кодировке None лежат по определённым причинам. Есть куча строковых полей в разных таблицах, смысл которых хранить названия чего-то. Под эти названия обычно отводится 250 или 1000 символов. Названия везде при отображении надо сортировать. Для быстрой сортировки я сделал индекс по выражению, но, как показала практика писать это громоздкое выражение во-первых не удобно, а во вторых часто кто-то ошибался и писал вместо ORDER BY CAST(SUBSTRING(UPPER("Name") FROM 1 FOR 50) AS VARCHAR(50)) просто ORDER BY "Name" или вобще забывал об ORDER BY. Поэтому мне было крайне удобно впихнуть это выражение в запрос представления и больше не вспоминать о такой проблеме как неправильная или отсутсвующая сортировка. Как по мне это имеет здравый смысл и очень удобно.
Более того - он вносит неоднозначность в выполнение запроса над view, если в запросе есть своя сортировка\группировка.
Мне показалось что если в запросе есть своя сортировка по полям представления, то сортировка запроса представления игнорируется. По-моему если это прописать в документации, то всё вполне однозначно.

