Select random number from a specific list

Viewed 216

How to get random number [10, 20, 30, 50] in MySQL.

I have tried using ROUND(RAND() * (50 - 10) + 10) but, this will generate numbers such as 11, 12, 24 which i don't want.

I wonder if this code will:

FLOOR((RAND([5,10,15,20,25,30,35,40]))

but how?

I want to set my quantity column to choose random 10,20,30, or 50. not 11, 12 or other possible number using ROUND(RAND() * (50-10) + 10).

Hope it is clear.

3 Answers

try this it's working fine

ROUND(RAND() * (5-1))*10

The following will give you one of the numbers from a list:

SELECT ELT(FLOOR(RAND() * 4) + 1, 10, 20, 30, 50);

Here 4 is the size of list and one is added since ELT is one-based.

If you want number that can be devised by 10 use Div and then multiply by 10

SELECT ((FLOOR(RAND()*(50-10+1))+10) DIV 10 ) * 10 ;

Related