Select random row from MySQL (with probability)

Posted by James Simpson on Stack Overflow See other posts from Stack Overflow or by James Simpson
Published on 2010-04-26T19:14:56Z Indexed on 2010/04/26 19:23 UTC
Read the original article Hit count: 372

Filed under:
|
|
|

I have a MySQL table that has a row called cur_odds which is a percent number with the percent probability that that row will get selected. How do I make a query that will actually select the rows in approximately that frequency when you run through 100 queries for example?

I tried the following, but a row that has a probability of 0.35 ends up getting selected around 60-70% of the time.

SELECT * FROM table ORDER BY RAND()*cur_odds DESC

© Stack Overflow or respective owner

Related posts about mysql

Related posts about mysql-query