программист
Контакты
Местоположение
Россия, Коми, Сыктывкар

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (12)

Лучшие ответы пользователя

Все ответы (3)
  • ORDER BY `вероятность`?

    @gnusy
    программист
    каждой записи добавляем поле с её весом (например поле ves). в дальнейшем выбираем записи схематично так:

    select top 10 *
    from [table]
    where rand()<ves/sum(ves)


    где sum(ves) — сумма весов по полю в таблице.

    гарантированно запись с весм 1 будет попадать в выборку в 3 раза реже, чем запись с весом 3.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (10)