Обсуждение: RE: [HACKERS] Should the following work...?
> select id > from clients > where id = ( select id > from clients > where count(id) = 1 ) ; > The error I get is that you can't do the AGGREGATE int he > WHERE clause, > but this is with a pre-v6.5 server too...technically, should > the above be > possible? I believe instead of WHERE that should be a HAVING clause. But I'm not sure PostgreSQL can handle a HAVING in a sub-select. -DEJ
Using:
select id from clientswhere id = ( select id from clients group by id having
count(id)= 1 ) ;
I get:
ERROR: rewrite: aggregate column of view must be at rigth side in qual
On Tue, 30 Mar 1999, Jackson, DeJuan wrote:
> > select id
> > from clients
> > where id = ( select id
> > from clients
> > where count(id) = 1 ) ;
> > The error I get is that you can't do the AGGREGATE int he
> > WHERE clause,
> > but this is with a pre-v6.5 server too...technically, should
> > the above be
> > possible?
> I believe instead of WHERE that should be a HAVING clause.
> But I'm not sure PostgreSQL can handle a HAVING in a sub-select.
>
> -DEJ
>
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
Just talked to one of our Oracle guru's here at hte office, and he had to
shake his head a bit :)
To find duplicate records, or, at least, data in a particular field, he
suggests just doing:
SELECT id,count(1) FROM clientsGROUP BY id HAVING count(1) > 1;
A nice, clean, simple solution :)
On Tue, 30 Mar 1999, The Hermit Hacker wrote:
>
> Using:
>
> select id
> from clients
> where id = ( select id
> from clients
> group by id
> having count(id) = 1 ) ;
>
>
> I get:
>
> ERROR: rewrite: aggregate column of view must be at rigth side in qual
>
>
>
> On Tue, 30 Mar 1999, Jackson, DeJuan wrote:
>
> > > select id
> > > from clients
> > > where id = ( select id
> > > from clients
> > > where count(id) = 1 ) ;
> > > The error I get is that you can't do the AGGREGATE int he
> > > WHERE clause,
> > > but this is with a pre-v6.5 server too...technically, should
> > > the above be
> > > possible?
> > I believe instead of WHERE that should be a HAVING clause.
> > But I'm not sure PostgreSQL can handle a HAVING in a sub-select.
> >
> > -DEJ
> >
>
> Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
> Systems Administrator @ hub.org
> primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
>
>
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
The Hermit Hacker wrote: > To find duplicate records, or, at least, > data in a particular field, he suggests > just doing: > > SELECT id,count(1) > FROM clients > GROUP BY id > HAVING count(1) > 1; > > A nice, clean, simple solution :) Ya. That's pretty. For some reason I always forget using the 'HAVING' clause, and end up using a double where clause. :) Clark
Ya, that's what I forgot too :( Its not something I use everyday, so
never think about it :)
On Tue, 30 Mar 1999, Clark Evans wrote:
> The Hermit Hacker wrote:
> > To find duplicate records, or, at least,
> > data in a particular field, he suggests
> > just doing:
> >
> > SELECT id,count(1)
> > FROM clients
> > GROUP BY id
> > HAVING count(1) > 1;
> >
> > A nice, clean, simple solution :)
>
> Ya. That's pretty. For some
> reason I always forget using the
> 'HAVING' clause, and end up using
> a double where clause.
>
> :) Clark
>
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org