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
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? |