Reputation: 1410
I am using the following query in an attempt to get total number(sum) of slides retrieving the max number from each project, however I am receiving the following error (#1111 - Invalid use of group function). Here's the query:
SELECT COALESCE(project,'Total') as Project, SUM(MAX(slides)) as Slides
FROM projects_tbl
WHERE date BETWEEN '2010-01-01' AND '2010-12-31'
GROUP BY Project with ROLLUP
If I remove the SUM(), then the it works, however, I do not get an accurate total for all of the projects/slides.
Thanks in advance for any and all replies.
Upvotes: 4
Views: 13704
Reputation: 425251
SELECT COALESCE(project,'Total') as Project, SUM(maxslides) AS slides
FROM (
SELECT project, MAX(slides) as maxslides
FROM projects_tbl
WHERE date BETWEEN '2010-01-01' AND '2010-12-31'
GROUP BY
project
) q
GROUP BY
project WITH ROLLUP
Upvotes: 4
Reputation: 2198
You can try with something like:
SELECT sum(prjmax)
FROM
(SELECT COALESCE(project,'Total') as Project, MAX(slides) as prjmax
FROM projects_tbl
WHERE date BETWEEN '2010-01-01' AND '2010-12-31'
GROUP BY Project with ROLLUP)
You need to obtain the max for each project, and after this you can sum all.
Upvotes: 2