How to randomly order or select rows in a MySQL query

I was looking for a way to order the rows randomly in a MySQL query and the solution was not easy for me to come by. I am posting the solution here in hopes of helping others.

  1. SELECT * 
  2. FROM my_table
  3. ORDER BY RAND()

RAND() returns a random floating-point value but functions to randomly order the selection of rows in the above usage.

If you combine the query with LIMIT, you will end up with a random selection of rows from your table.

  1. SELECT * 
  2. FROM my_table
  3. ORDER BY RAND()
  4. LIMIT 3

Assuming you have more than 3 rows in your table, you will always get 3 random rows from the query.

Published by

Allen Liu

Building websites is a passion of mine. During the course of my work, I have created some snippets of code that I hope will prove useful to other developers.

One thought on “How to randomly order or select rows in a MySQL query”

  1. This type of function in MySQL is only valid if the number of records stored do not exceed about 10 thousand records. otherwise it is obsolete resource intensive on the server. (RAM and processor)

    For cases is better to combine scalable enabling scripting language (eg php) + Mysql.
    Greetings!

Leave a Reply

Your email address will not be published. Required fields are marked *