scusate il titolo ma non è facile spiegarmi

devo prendere un record a caso da un DB.il problema è che però tra tutti i record che ho alcuni devono essere pescati più frequentemente altri meno.
in pratica ad ogni recordo ho dato un valore di "importanza" tra 1 e 5. quelli con importanza 1 devono avere meno possibilità di essere pescati di quelli con importanza 5.

come posso fare??
avevo pensato di gestire la cosa così.

genero un numero casuale tra 1 e 150...chiamiamolo X

codice:
if x > 0 and x < 10 then record preso tra quelli di importanza 1

if x > 10 and x < 30 then record preso tra quelli di importanza 2

if x > 30 and x < 60 then record preso tra quelli di importanza 3

if x > 60 and x < 100 then record preso tra quelli di importanza 4

if x > 100 and x <= 150 then record preso tra quelli di importanza 5
in pratica quelli di fascia 1 hanno 10 possibilità su 140 di essere pescati,quelli di fascia 2 20,quelli di fascia 3 30,quelli di fascia 4 40,quelli di fascia 5 50


altre soluzioni??