Задавайте вопросы, мы ответим
Вы не зашли.
Необходимо сделать запрос к таблице БД, так, чтобы записи были упорядочены по суммарному размеру содержимого всех полей (по размеру записи). Это необходимо для того, чтобы можно было упорядочить записи по информативности, то есть чем больше заполненных полей (не NULL) тем они будут первее. В документации ничего не нашел. Я искал что-то вроде COUNT(*), то есть если бы была такая функция RECORD_SIZE(*), то запрос выглядел бы так:
SELECT * FROM mytable ORDER BY RECORD_SIZE(*) DESC;
То есть ключем сортировки выступает функция RECORD_SIZE(*), которая расчитывает общую длину всех полей,а СУБД, исходя из этого, сортирует их по убыванию. Не хочется писать хранимую процедуру, тупо складывавать размеры всех полей и вообще изобретать велосипед, поэтому спрашиваю как это сделать по-русски, может есть уже готовое решение?
Неактивен
Хранимку писать не придется, а от тупо складывать никуда не денешься.
SELECT * FROM tablename ORDER BY length(col1)+length(col2)+... DESC;
С точки зрения быстродействия работать будет медленно. Лучше сделать доп поле, в котором хранить размер строки и по нему сортировать.
Неактивен