I have a sample table like this:
name | manager | country | position | salary |
---|---|---|---|---|
Mike | Mark | USA | Content Writer | 40000 |
Kate | Mark | France | SEO Specialist | 12000 |
John | Caroline | USA | Outreach Expert | 32000 |
Alice | Caroline | Italy | SEO Specialist | 50000 |
Philip | Caroline | Italy | Marketing Manager | 30000 |
Julia | Caroline | Italy | SEO Specialist | 44000 |
I’m writing a query to get the avg. salary from the table grouped by different columns:
SELECT name, manager, country, position, AVG(salary) FROM table GROUP BY GROUPING SETS (manager), (name, country), (position), ()
However, the output is basically the same table I had in the beginning, just in a different order. Why is that? How do I fix this query to return the grouping I need?
Advertisement
Answer
As in the examples in the documentation, I believe you need to wrap the sets in brackets. e.g.
SELECT name, manager, country, position, AVG(salary) FROM table GROUP BY GROUPING SETS ( -- Added this bracket to OP (manager), (name, country), (position), () ) -- Added this bracket to OP