pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: James Kitambara <jameskitambara@yahoo.co.uk>
To: gibsosmat@gmail.com
Cc: pgsql-sql@postgresql.org
Subject: Re: Bucketing Row Data in columns
Date: Thu, 25 Jun 2009 08:55:51 +0000 (GMT)
Message-ID: <863824.473.qm@web27906.mail.ukl.yahoo.com> (raw)

 
Hello Mr. Sandeep Bandela,
 
I have gone through your scenario and come up with the following solution.
 
SELECT USER_ID, CREATE_TIMESTAMP::DATE, SUM(AMOUNT)
FROM ORDERS
GROUP BY USER_ID, CREATE_TIMESTAMP
ORDER BY USER_ID, CREATE_TIMESTAMP;
 
Maybe you need to do little modification on the query to get what you want.
 
Best Regards
 
James Kitambara
Database Administrator
-------------------------------------ORGINAL MESSAGE------------------------------------------------
--- On Wed, 24/6/09, Sandeep <gibsosmat@gmail.com> wrote:


From: Sandeep <gibsosmat@gmail.com>
Subject: [SQL] Bucketing Row Data in columns
To: pgsql-sql@postgresql.org
Date: Wednesday, 24 June, 2009, 5:39 PM


Hi all,
I need help on creating a sql, not a problem even if its pl/sql

I have orders table schema is as follow

orders(order_id,user_id, create_timestamp, amount)

and I want to generate a report like
for the past 3 days bucketing purchases i.e SUM(amount) every day in columns
i.e result will be having these columns.

(user_id, amount_day1, amount_day2, amount_day3)

ex:
am leaving order_id assume they are auto incrementing and unique, date format dd/mm/yyyy
(user_id, create_timestamp, amount)
(user1, 01/01/2009,100)
(user1, 01/01/2009,100)
(user2, 01/01/2009,100)
(user2, 02/01/2009,100)
(user2, 02/01/2009,100)
(user1, 02/01/2009,100)
(user2, 03/01/2009,100)
(user2, 03/01/2009,100)
(user3, 03/01/2009,100)


result

(user_id, amount_day1, amount_day2, amount_day3)
(user1, 200, 200, 0)
(user2, 100, 200, 200)
(user3, 0, 0, 100)


hope you guys got what I am trying to generate through sql.

I could get this data in each row, but I want it in columns.
Can anyone help me on this? lets assume the buckets are fixed i.e 3 only. but I wish to get them unlimited i.e day 1 to day 20.





Regards
Sandeep Bandela 


      

view thread (7+ messages)  latest in thread

Message-ID: <863824.473.qm@web27906.mail.ukl.yahoo.com>
Permalink:  ../863824.473.qm@web27906.mail.ukl.yahoo.com/
Also on:    postgresql.org/message-id/863824.473.qm@web27906.mail.ukl.yahoo.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: jameskitambara@yahoo.co.uk, gibsosmat@gmail.com
  Subject: Re: Bucketing Row Data in columns
  In-Reply-To: <863824.473.qm@web27906.mail.ukl.yahoo.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox