Ticket n°3
sql-random.jpg

SQL : Nombre aléatoire de lignes dans un table ou vue

Le 29 Jul 2016Thierry Valléedatabases
Il y a plusieurs façon d'obtenir un nombre de lignes aléatoires d'une requête. Voici plusieurs exemples SQL selon le type de bases de données.

Oracle

SELECT <colonnes> 
FROM (
  SELECT <colonnes> 
  FROM <table/vue> 
  ORDER BY dbms_random.value
  )
WHERE rownum = <nombre de ligne(s)>

DB2

SELECT <colonnes>, RAND() as IDX 
FROM <table/vue>
ORDER BY IDX 
FETCH FIRST <nombre de ligne(s)> ROWS ONLY

SQL Server

SELECT TOP <nombre de ligne(s)> <colonnes> 
FROM <table/vue> ORDER BY NEWID()

MySQL

SELECT @mc(<colonnes>)
FROM <table/vue> 
ORDER BY RAND() 
LIMIT <nombre de ligne(s)>

PostgreSQL

SELECT <colonnes> 
FROM <table/vue> 
ORDER BY RANDOM() 
LIMIT <nombre de ligne(s)>
Bonnes RKETs...