From: Stephan Szabo <sszabo@megazone.bigpanda.com>
To: Joost Kraaijeveld <J.Kraaijeveld@Askesis.nl>
Cc: Pgsql-sql@postgresql.org <Pgsql-sql@postgresql.org>
Subject: Re: How to get a count() where column < ''?
Date: Sun, 4 Dec 2005 14:29:16 -0800 (PST)
Message-ID: <20051204142347.R57404@megazone.bigpanda.com> (raw)
In-Reply-To: <1133732596.5560.11.camel@Panoramix>
References: <1133730772.5560.8.camel@Panoramix>
<20051204133233.O57404@megazone.bigpanda.com>
<1133732596.5560.11.camel@Panoramix>
On Sun, 4 Dec 2005, Joost Kraaijeveld wrote:
> Hi Stephan,
>
> On Sun, 2005-12-04 at 13:33 -0800, Stephan Szabo wrote:
> > > SELECT COUNT(customers.objectid) FROM prototype.customers,
> > > prototype.addresses
> > > WHERE
> > > customers.contactaddress = addresses.objectid
> > > AND
> > > zipCode < '2716BN'
> > > ORDER By zipCode, houseNumber
>
> > In a non-grouped query like the above, I don't think that the order by is
> > meaningful. You only get one row back anyway without a group by, and
> > there's no single zipCode or houseNumber to associate with the row.
> >
> What do you mean by a non-grouped query? The query below gives the same
> error:
A query without a group by, in other words one on which the count is done
over the entire set of rows that pass the where clause.
> SELECT zipcode, COUNT(*) FROM prototype.customers, prototype.addresses
> WHERE
> customers.contactaddress = addresses.objectid
> AND
> zipCode < '2716BN'
Yes, because without a group by there's one count and it has no associated
zipcode to put in the select list.
I believe
select count(*) from prototype.customers, prototype.addresses where
customers.contactaddress = addresses.objectid and zipCode < '2716BN';
will work and give you an overall count.
select zipcode, count(*) from prototype.customers, prototype.addresses
where customers.contactaddress = addresses.objectid and zipCode <
'2716BN' group by zipcode order by zipcode;
should give you a list broken up with a count by zipcode in order of
zipcode.
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: sszabo@megazone.bigpanda.com, J.Kraaijeveld@Askesis.nl
Subject: Re: How to get a count() where column < ''?
In-Reply-To: <20051204142347.R57404@megazone.bigpanda.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