简体   繁体   中英

Mysql query to PostgreSQL query

select storeID, itemID, custID, sum(price)
from Sales F
group by storeID, custID, itemID 
    with cube(storeID, custID);

I am going to use this query in postgreSQL but it doesn't work in postgreSQL directly how can I convert this query into postgreSQL query?

Your code will work without the with keyword:

select storeID, itemID, custID, sum(price)
from Sales F
group by itemID, cube(storeID, custID);

I prefer grouping sets for expressing groupings:

select storeID, itemID, custID, sum(price)
from Sales F
group by grouping sets ( (storeID, custID, itemID),
                         (custID, itemID),
                         (storeID, itemID),
                         (itemID)
                       );

If I understand what you want to do, this should be exactly the same.

You could also use cube and then filter:

select storeID, itemID, custID, sum(price)
from Sales F
group by cube(storeID, custID, itemID)
having itemId is not null

Try this:

select storeID, itemID, custID, sum(price)
from Sales F
group by cube (storeID, itemID, custID)
  • Check this post for more details on CUBE , GROUPING SETS and ROLLUP .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM