From: Rod Taylor <pg@rbt.ca>
To: Yasir Malik <ymalik@cs.stevens.edu>
Cc: PostgreSQL <pgsql-sql@postgresql.org>
Subject: Re: Am I crazy or is this SQL not possible
Date: Thu, 01 Jun 2006 16:26:53 -0400
Message-ID: <1149193613.6071.18.camel@home> (raw)
In-Reply-To: <Pine.NEB.4.64.0606011409360.758@pink-elephant.cs.stevens-tech.edu>
References: <df01c91b0606011043g61328d6habaee8fa037a5ccf@mail.gmail.com>
<Pine.NEB.4.64.0606011409360.758@pink-elephant.cs.stevens-tech.edu>
On Thu, 2006-06-01 at 14:13 -0400, Yasir Malik wrote:
> > What I would like to do is simply get the last date_sent and it's
> > status for every broadcast. I can't do a GROUP BY because I can't put
> > an aggregate on the status column.
> >
> > SELECT MAX(date_sent), status
> > FROM broadcast_history
> > GROUP BY broadcast_id
> >
> You could try the following:
> select status
> from broadcast_history bh
> where bh.date_sent =
> (select max(bh2.date_sent)
> from broadcast_history bh2);
>
> This reminds me of an interview question: I was asked how to get a
> maximum column from a table without using max. How would you do that?
Find the list of everything that isn't the highest value, then invert
it.
Don't expect it to perform very well though.
select col
from foo
where col not in
(select f1.col
from foo as f1
join foo as f2 on (f1.col < f2.col)
);
--
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: pg@rbt.ca, ymalik@cs.stevens.edu
Subject: Re: Am I crazy or is this SQL not possible
In-Reply-To: <1149193613.6071.18.camel@home>
* 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