Mysql вероятность выборки записи
Имеет таблицу с полем date.(TIMESTAMP).
Нужно выбрать одну запись, причем условие выборки таково: чем ближе дата к реальному времени, тем больше вероятность выбрать "эту" запись. Т.е. у самых последних(старых) записей вероятность будет = 0.
Нужно выбрать одну запись, причем условие выборки таково: чем ближе дата к реальному времени, тем больше вероятность выбрать "эту" запись. Т.е. у самых последних(старых) записей вероятность будет = 0.
1 ответов
1. Выбрать все записи
2. Реализовать в коде нужный алгоритм, по нему получить id записи
3. Вывести запись
Сначала надо строки отсортировать от большей даты к меньшей. Теперь надо сгенерировать число XXX в диапазоне от 0 до кол-ва строк в таблице, причем вероятность выпадения 0 должна быть выше (по экспоненте или еще как-либо).
Далее получить одну строку из базы, используя полученный номер строки:
select * from TABLE order by DATE desc limit XXX,1;