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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-fr-generale by date

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