RAND() function in MySql

July 20, 2003 by  
Filed under Code Snippets

I was trying to use this query to get a random row from the database:

$myRandom = "SELECT * FROM MYTABLE ORDER BY RAND() LIMIT 1";

and I couldn’t figure out why it would continually get the previous number instead of some random number.

Ahh, but look what’s at the bottom of the page. ;)

“As of MySQL 3.23.52, MySQL changed the way RAND() functions, such that you MUST supply a SEED to get an actual random number. If you do not, each new connection will return close to the same number as the previous new connection. An example to test this would be to run the follow command multiple times in a row. mysql -u username -p -e’select rand()’ A basic way to seed this would be to run RAND(NOW()).”

So now I know, I must provide a random seed. ;)

Source: http://www.mysql.com

Related Products:

Nintendo Switch - Gray Joy-ConNintendo Switch - Gray Joy-Con

Introducing Nintendo Switch, the new home video game system from Nintendo. In addition to providin... Read More >

Samsung 860 EVO 1TB 2.5 Inch SATA III Internal SSD (MZ-76E1T0B/AM)Samsung 860 EVO 1TB 2.5 Inch SATA III Internal SSD (MZ-76E1T0B/AM)Samsung 860 EVO solid state drive is the SSD to trust. Based on 3D VNAND flash, Samsung offers enhanced read/write performance, endurance and power management efficiency. With multiple form factors, the 860 EVO is ideal for mainstream PCs and laptops.
SanDisk SSD PLUS 1TB Solid State Drive - SDSSDA-1T00-G26SanDisk SSD PLUS 1TB Solid State Drive - SDSSDA-1T00-G26Inject new life into your laptop or desktop PC with a durable solid state drive from SanDisk. You'll experience quicker boot-up and shutdown, quicker ... Read More >
Related Posts Plugin for WordPress, Blogger...