Есть выборка из таблицы:
id, chance
1, 20
2, 30,
3, 10
4, 5
chance - шанс выборки этого id.
Как это правильно сделать?
У меня мысль, обрабатывать на C#
Взять все данные, подсчитать сумму chance. Выкинуть рандомное число 0-сумма. Потом брать по одной строке до тех пор пока не дойдем до строки которая больше числа. Это и есть что нужно
Выбрать случайное число от 1 до 100
Если выбранное число в диапазоне 1-20 то SQL-запрос SELECT id=1
Если выбранное число в диапазоне 96-100 то SQL-запрос SELECT id=4
и т.д.