From: | Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> |
---|---|
To: | Dennis Gearon <gearond(at)sbcglobal(dot)net> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Basic SQL question and kudos |
Date: | 2010-10-06 04:13:57 |
Message-ID: | 4CABF785.9060704@postnewspapers.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 10/06/2010 12:31 AM, Dennis Gearon wrote:
> I need to get a join across about 8 tables to only return rows for the MAX date in one of the tables for all otherwise identical return results. I am trying to get the most recent edit of normalized records that are composed of elements from all the tables. There could be 1 to 100+ successive edits to the normalized/multi table record. The will be approximately 65,000 total records for now, 100,000,000s later.
>
> If I make one of the values in the select statement be MAX(the date), does that automatically do grouping on 'the date' or will I only get ONE row total returned?
If I understand what you're proposing correctly, I don't think it'll work.
What you need to do is use a subquery to obtain the max of the field of
interest, and filter in your WHERE clause so you only return results
when the selected value is the maximum for that field.
It's hard to be more specific with a fairly general question like this,
but if I'm understanding you right this is how I'd start.
--
Craig Ringer
From | Date | Subject | |
---|---|---|---|
Next Message | Konstantin Izmailov | 2010-10-06 04:40:19 | Re: Is there a logical reason for 25P02? |
Previous Message | Josh Kupershmidt | 2010-10-06 03:45:36 | Re: How do I write this query? Distinct, Group By, Order By? |