ayazer, Простите если сформулировал не понятно, по моему мнению я выложил все :)
Постараюсь выразится по другому.
Нужно выдавать записи из БД, отсортированы таким образом что бы параметры Дата (int unix), лайки (int), Длина сообщения (int) были пропорционально выше по значению, "равномерно".
То есть, нужны записи новые, набранные больше лайков, и их длина была больше. От этих параметров на сайте будет зависит их релевантность.
select sub.* from
(select * from mytable
order by id desc
limit 10000) sub
order by likes_amount desc, creation_datetime desc, length desc
limit 100
^ формально подходит под ваше описание - покажет самые новые, длинные и залайканые записи с последних N созданых. А для "равномерно" - придумайте функцию которая будет (likes_amount, now() - creation_datetime , length) приводить к [0,1], и сортируйте по этому полю.