Thread: Migration from DB2 to PostgreSQL-ROLLUP()
While migrating my application from DB2 to PostgreSQL. I want to migrate ROLLUP() function in PostgreSQL. Example: SELECT WEEK(SALES_DATE) AS WEEK, DAYOFWEEK(SALES_DATE) AS DAY_WEEK, SUM(SALES) AS UNITS_SOLD FROM SALES GROUP BY ROLLUP ( WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE) ) ORDER BY WEEK, DAY_WEEK This example shows two simple ROLLUP queries followed by a query which treats the two ROLLUPs as grouping sets in a single result set and specifies row ordering for each column involved in the grouping sets. How can I migrate ROLLUP() function in PostgreSQL? or is there any similar function in PostgreSQL which can done this job? -- View this message in context: http://postgresql.1045698.n5.nabble.com/Migration-from-DB2-to-PostgreSQL-ROLLUP-tp5759825.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
Hello 2013/6/19 sachin kotwal <kotsachin@gmail.com>: > While migrating my application from DB2 to PostgreSQL. > > I want to migrate ROLLUP() function in PostgreSQL. > > Example: > SELECT WEEK(SALES_DATE) AS WEEK, > DAYOFWEEK(SALES_DATE) AS DAY_WEEK, > SUM(SALES) AS UNITS_SOLD > FROM SALES > GROUP BY ROLLUP ( WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE) ) > ORDER BY WEEK, DAY_WEEK > > This example shows two simple ROLLUP queries followed by a query which > treats the two ROLLUPs as grouping sets in a single result set and specifies > row ordering for each column involved in the grouping sets. > > How can I migrate ROLLUP() function in PostgreSQL? or is there any similar > function in PostgreSQL which can done this job? this functionality is not supported you should to rewrite query SELECT .. FROM GROUP BY weeks(sales_date), dayofweek(salesdate) UNION ALL SELECT ... FROM .. GROUP BY dayofweek(salesdate) ORDER BY .. Regards Pavel Stehule > > > > -- > View this message in context: http://postgresql.1045698.n5.nabble.com/Migration-from-DB2-to-PostgreSQL-ROLLUP-tp5759825.html > Sent from the PostgreSQL - general mailing list archive at Nabble.com. > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general
On Wed, Jun 19, 2013 at 3:56 AM, sachin kotwal <kotsachin@gmail.com> wrote: > While migrating my application from DB2 to PostgreSQL. > > I want to migrate ROLLUP() function in PostgreSQL. > > Example: > SELECT WEEK(SALES_DATE) AS WEEK, > DAYOFWEEK(SALES_DATE) AS DAY_WEEK, > SUM(SALES) AS UNITS_SOLD > FROM SALES > GROUP BY ROLLUP ( WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE) ) > ORDER BY WEEK, DAY_WEEK > > This example shows two simple ROLLUP queries followed by a query which > treats the two ROLLUPs as grouping sets in a single result set and specifies > row ordering for each column involved in the grouping sets. > > How can I migrate ROLLUP() function in PostgreSQL? or is there any similar > function in PostgreSQL which can done this job? Yeah, we don't have it. To work around the problem I typically create a function or a view dynamically, that takes a template and forces the rollup with a UNION ALL. This technique is not generic, so each case has to be handled specially. Lack of OLAP style sql features is #2 missing feature for me in postgres (after stored procedures). merlin