У меня есть таблица с полем value
. Записи имеют значения, несколько равномерно распределенные между 0 и 100.
Я хочу запросить эту таблицу для n
записей, учитывая целевое среднее значение, x
, чтобы я получил взвешенный случайный набор результатов, где avg(value)
будет приблизительно x
.
Я мог бы легко сделать что-то вроде
SELECT TOP n * FROM table ORDER BY abs(x - value)
... но это дало бы один и тот же результат каждый раз, когда я запускаю запрос.
Что я хочу сделать, так это добавить какое-то взвешивание, чтобы можно было выбирать любую запись, но с уменьшающейся вероятностью по мере увеличения расстояния от x
, чтобы в итоге получилось нечто вроде нормального распределения вокруг моего данного среднего.
Буду признателен за любые предложения относительно того, как мне этого добиться.