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

Re: Selecting distinct records

From: "Dave [Hawk-Systems]" <dave(at)hawk-systems(dot)com>
To: "David Busby" <busby(at)pnts(dot)com>, <pgsql-php(at)postgresql(dot)org>
Subject: Re: Selecting distinct records
Date: 2002-11-21 21:26:55
Message-ID: DBEIKNMKGOBGNDHAAKGNEEINDPAB.dave@hawk-systems.com (view raw or flat)
Thread:
Lists: pgsql-php
>    Try:
>select distinct on (sessionid) sum(sessiontime) from logs
>where name='joeblowuser' and datetime > 1036040400
>group by sessionid.

sorry, I wasn't clear...  the problem arises when we need to sort the data for
output.  postgres demands that the distinct items be first in the ordering
process, which would not allow display by session, name etc...

the obvious result would be to nest the select statements but can't seem to get
that to work either (working with version 7.0.3)

eg/  select * from (select distinct on (sessionid) from logs where....) as
tempname order by sessiondate desc

gives me an error on the second select, so not sure that is a workable solution
either.

>sum() is an aggerate (sp?) function, that means it munges a field
>(sessiontime) from multiple records into one field in one record.  Since you
>are also selecting sessionid (from mulitple records) you need to munge it
>some how, that munge is accomplished via 'group by'.  From your previous
>e-mail it seems that (IMHO) the real problem is that duplicates are getting
>inserted via external hardware interaction, this select might be a bandage
>on a wound whose true size isn't known...

agreed, and that problem has been corrected, but we are dealing with close to a
million records which have these duplicates strewn about within...  rather
annoying, looking for a bandaid in teh select to avoid intensive post-select
processing of the output.

Dave



In response to

Responses

pgsql-php by date

Next:From: David BusbyDate: 2002-11-22 01:37:25
Subject: Re: Selecting distinct records
Previous:From: David BusbyDate: 2002-11-21 19:02:05
Subject: Re: Selecting distinct records

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