puzer
Создатель
- Регистрация
- 5 Июл 2008
- Сообщения
- 14
- Реакции
- 4
select c1
from t1
where rating>FLOOR(SQRT(rand())*(5-1))
order by rating
limit 1
Добавлено через 23 минуты
похоже работать не будет ,
т.е. если несколько записей с рейтингом 5 , то будет выдаваться всегда одна.
Не знаю. Может попытаться растянуть диапазон чтоб было 1- 500000.
И те записи которые имеют рейтингом 5, были бы разбросаны.
Тогда бы работало...
Добавлено через 47 минут
Но если записей не много, и сервер не помрет - попробуй:
order by POW(rating,2)*rand() DESC
или
order by POW(rating,3)*rand() DESC
и т.д.
from t1
where rating>FLOOR(SQRT(rand())*(5-1))
order by rating
limit 1
Добавлено через 23 минуты
похоже работать не будет ,
т.е. если несколько записей с рейтингом 5 , то будет выдаваться всегда одна.
Не знаю. Может попытаться растянуть диапазон чтоб было 1- 500000.
И те записи которые имеют рейтингом 5, были бы разбросаны.
Тогда бы работало...
Добавлено через 47 минут
Но если записей не много, и сервер не помрет - попробуй:
order by POW(rating,2)*rand() DESC
или
order by POW(rating,3)*rand() DESC
и т.д.