Dijkgraaf - 11:50 pm on Jul 22, 2010 (gmt 0)
If you have an ID field in the database you could first get a random number (with a maximum of your largest ID) and then do a
SELECT * from my_table WHERE ID = randomnumber
You might have to then check to see if you actually got a row (in case your ID's aren't consecutive) and repeat until you get a row. The less consecutive your ID field is of course the less efficient this becomes.