pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Sumeet <asumeet@gmail.com>
To: pgsql-sql@postgresql.org
Subject: selecting random row values in postgres
Date: Fri, 23 Feb 2007 14:29:13 -0500
Message-ID: <7539aebb0702231129s48399f26r8881c6eff81b0708@mail.gmail.com> (raw)

Hi all,

I'm trying to write  a query to select random values from a set of 'GROUP
BY'
....see the scenario below to understand the problem here (the actual
problem cannot be discussed here so i'm taking an example scenario)

Assume there is a table

id | name | year_of_birth

query: I want  to select for each year_of_birth a random name.

--> so i do a group by year_of_birth, now i have a set of names, is there
any function to select just one name from these set of names.
The current approach i'm using to solve this problem is

1) getting these names in a single string using a custom function
'group_concat'
2) Convert the single string into an array
3) use postgresql random function to generate  a random number
4) us the random number to select a element from the array previously
created.

The solution is there but it's kinda hack, is there any other better way of
solving this problem.


Thanks,
Sumeet

view thread (6+ messages)  latest in thread

Message-ID: <7539aebb0702231129s48399f26r8881c6eff81b0708@mail.gmail.com>
Permalink:  ../7539aebb0702231129s48399f26r8881c6eff81b0708@mail.gmail.com/
Also on:    postgresql.org/message-id/7539aebb0702231129s48399f26r8881c6eff81b0708@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: asumeet@gmail.com
  Subject: Re: selecting random row values in postgres
  In-Reply-To: <7539aebb0702231129s48399f26r8881c6eff81b0708@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox