Re: How to get a count() where column < ''?
От | Stephan Szabo |
---|---|
Тема | Re: How to get a count() where column < ''? |
Дата | |
Msg-id | 20051204142347.R57404@megazone.bigpanda.com обсуждение исходный текст |
Ответ на | Re: How to get a count() where column < ''? (Joost Kraaijeveld <J.Kraaijeveld@Askesis.nl>) |
Список | pgsql-sql |
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 believeselect count(*) from prototype.customers, prototype.addresses wherecustomers.contactaddress = addresses.objectidand zipCode < '2716BN'; will work and give you an overall count. select zipcode, count(*) from prototype.customers, prototype.addresseswhere customers.contactaddress = addresses.objectidand zipCode <'2716BN' group by zipcode order by zipcode; should give you a list broken up with a count by zipcode in order of zipcode.
В списке pgsql-sql по дате отправления: