X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 74A9DD1F2F2 for ; Fri, 7 May 2004 10:26:29 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 68595-05 for ; Fri, 7 May 2004 10:26:12 -0300 (ADT) Received: from anchor-post-31.mail.demon.net (anchor-post-31.mail.demon.net [194.217.242.89]) by svr1.postgresql.org (Postfix) with ESMTP id 1FE4FD1E176 for ; Fri, 7 May 2004 10:26:09 -0300 (ADT) Received: from mwynhau.demon.co.uk ([193.237.186.96] helo=mainbox.archonet.com) by anchor-post-31.mail.demon.net with esmtp (Exim 3.35 #1) id 1BM5MY-000B7K-0V; Fri, 07 May 2004 14:26:04 +0100 Received: from [192.168.1.17] (client17.archonet.com [192.168.1.17]) by mainbox.archonet.com (Postfix) with ESMTP id A7CE1174ED; Fri, 7 May 2004 14:25:48 +0100 (BST) Message-ID: <409B8E5F.6090408@archonet.com> Date: Fri, 07 May 2004 14:25:51 +0100 From: Richard Huxton User-Agent: Mozilla Thunderbird 0.6 (X11/20040502) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Martin Kuria Cc: olly@lfix.co.uk, middink@indo.net.id, pgsql-sql@postgresql.org Subject: Re: SUM() & GROUP BY References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at postgresql.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200405/71 X-Sequence-Number: 17785 Martin Kuria wrote: > > Here is what Division table contains: > > SELECT * FROM ser_divisions; > > divisions_name | divisions_id > --------------------------------------- > DEE | 3131 ... > Now I would like to get to know how each Division answered i.e. > > SELECT s.pd_geo, COUNT(s.pd_geo) > FROM ser s > WHERE s.ser_divisions = '3131' > GROUP BY s.pd_geo; > divisions_name | pd_geo | count > ----------------------------------------------- > DEE | 1 | 9 > DEE | 2 | 2 > DEE | 3 | 6 > DEE | 4 | 5 SELECT d.divisions_name, s.pd_geo, COUNT(s.pd_geo) FROM ser_divisions d, ser s WHERE d.divisions_id = s.ser_divisions GROUP BY d.divisions_name, s.pd_geo ORDER BY d.divisions_name, s.pd_geo ; It's called a join, and any good SQL book should cover it. -- Richard Huxton Archonet Ltd