Skip site navigation (1) Skip section navigation (2)

Re: Un enregistrement au hasard ?

From: Sébastien Dinot <sebastien(dot)dinot(at)free(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Un enregistrement au hasard ?
Date: 2008-11-12 22:12:22
Message-ID: 20081112221222.GA6731@dinot.net (view raw or flat)
Thread:
Lists: pgsql-fr-generale
Jean-Max Reymond a écrit :
> SELECT * FROM personne OFFSET RANDOM() LIMIT 1;

Euh... Certainement plus efficace du point de vue SQL mais du point de vue
fonctionnel, si l'on considère que RANDOM() renvoie une valeur réelle entre 0
et 1, j'ai pour ainsi dire quelques doutes dès que la table contient plus de 2
enregistrements. (c;

Pour suivre ton idée, j'aurais bien écrit :

SELECT * FROM personne OFFSET ( RANDOM() * ( SELECT MAX(id_personne) FROM personne ) ) LIMIT 1;

Mais PostgreSQL n'aime pas :

ERREUR:  l'argument de OFFSET ne doit pas contenir de sous-requêtes

Sébastien

-- 
Sébastien Dinot, sebastien(dot)dinot(at)free(dot)fr
http://sebastien.dinot.free.fr/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passer !

In response to

Responses

pgsql-fr-generale by date

Next:From: Sébastien DinotDate: 2008-11-12 22:16:02
Subject: Re: Un enregistrement au hasard ?
Previous:From: Jean-Max ReymondDate: 2008-11-12 21:45:37
Subject: Re: Un enregistrement au hasard ?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group