Query help

From: Chuck Martin <clmartin(at)theombudsman(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Query help
Date: 2019-01-01 19:05:48
Message-ID: CAFw6=U0v9CHqtfN+g6DriVGpR5veS-oTz7t16c4j+0q70ifLEg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Sorry if this is too basic a question for this list, but I don't fully get
how to use aggregates (sum()) and group-by together. I'm trying to get a
list of transactions where the total for a given account exceeds a given
number. I'm not sure an example is needed, but if so, consider this
simplified data:

accountid. name
1 bill
2. james
3 sarah
4 carl

transaction
id. amount. accountid. name
1. 50. 1 bill
2. 25. 2 james
3 35 4 carl
4. 75. 1 bill
5 25. 1 bill
6 50 3 sarah

results wanted-all transactions where account total >= 50

id. amount. accountid. name
1. 50. 1 bill
3. 75. 1 bill
4 25. 1 bill
5 50 3 sarah

I've tried to understand how to use GROUP BY and HAVING, but the penny
won't drop. I keep getting errors saying that all columns in the SELECT
have to also be in the GROUP BY, but nothing I've done seems to produce the
correct results. I think because the GROUP BY contains multiple columns, so
each row is treated as a group. It also is difficult to parse out since in
the real world, many more tables and columns are involved.

Chuck Martin
Avondale Software

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scot Kreienkamp 2019-01-01 19:14:43 RE: Query help
Previous Message Adrian Klaver 2019-01-01 18:49:40 Re: Thoughts on row-level security for webapps?