From: | "Saseendra Babu" <saseendra(at)erdcitvm(dot)org> |
---|---|
To: | <pgsql-patches(at)postgresql(dot)org> |
Subject: | GROUP BY problem in PostgreSQL |
Date: | 2004-12-20 11:52:49 |
Message-ID: | 002801c4e68a$6e0e6910$161c10ac@babuks |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
Hello,
We have got a table DUMMY with following structure;
DIST
AMT
FINE
MONTH
TVM
1000
2000
1
TVM
2000
3000
1
KLM
3000
4000
1
KLM
4000
5000
1
ALP
6000
7000
1
ALP
7000
8000
1
TVM
1000
2000
2
TVM
2000
3000
2
KLM
3000
4000
2
KLM
4000
5000
2
ALP
6000
7000
2
ALP
7000
8000
2
TVM
1000
2000
3
TVM
2000
3000
3
KLM
3000
4000
3
KLM
4000
5000
3
ALP
6000
7000
3
ALP
7000
8000
3
In order to have a matrix query to have month wise ,dist (district) wise sum for multiple rows , in Oracle we have executed the following query ,
SELECT DIST,
SUM(decode(month,01,(payment+fine))) "Jan" ,
SUM(decode(month,02,(payment+fine))) "Feb",
SUM(decode(month,03,(payment+fine))) "Mar",
SUM(decode(month,04,(payment+fine))) "Apr",
SUM(payment+fine) "Month-Tot"
FROM dummy
GROUP BY dist
UNION
SELECT 'Total',
SUM(decode(month,01,(payment+fine))) "Jan" ,
SUM(decode(month,02,(payment+fine))) "Feb",
SUM(decode(month,03,(payment+fine))) "Mar",
SUM(decode(month,04,(payment+fine))) "Apr",
SUM(payment+fine) Total
FROM dummy;
The result we got as desired.
DIST
Jan
Feb
Mar
Month-Tot
ALP
28000
28000
28000
84000
KLM
16000
16000
16000
48000
TVM
8000
8000
8000
24000
Total
52000
52000
52000
156000
We wrote the equivalent query in PostgreSQL using CASE (instead of DECODE) as follows
SELECT dist,
CASE WHEN month=1 THEN SUM(payment+fine) END AS Jan ,
CASE WHEN month=2 THEN SUM(payment+fine) END AS Feb,
CASE WHEN month=3 THEN SUM(payment+fine) END As Mar,
SUM(payment+fine) AS Month-Tot
GROUP BY dist
FROM dummy;
ERROR: Attribute dummy.month must be GROUPed or used in an aggregate function
GROUP BY is always problem in PostgreSQL.
Will you please help us to solve the problem.,
Thanking you
Regards
Saseendra Babu K
CDAC ,Trivandrum
______________________________________
Scanned and protected by Email scanner
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2004-12-20 16:44:00 | Re: [PERFORM] scalability issues on win32 |
Previous Message | Alvaro Herrera | 2004-12-20 03:40:36 | Re: LockObject patch |