2011-01-18 4 views
4

다음 쿼리를 사용하여 각 프로젝트에서 최대 개수를 검색하는 슬라이드의 총 수 (합계)를 얻으려고 시도했지만 다음 오류가 발생합니다 (# 1111 - 잘못된 사용 그룹 기능의). 다음은 쿼리입니다 :# 1111 - 그룹 기능을 잘못 사용했습니다.

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 

나는 SUM()를 제거하는 경우, 다음이 작동하지만, 나는 프로젝트/모든 슬라이드에 대한 정확한 합계를하지 않습니다.

미리 답변 해 주셔서 감사합니다.

+0

일부 샘플 데이터와 원하는 출력을 게시 할 수 있습니까? – Quassnoi

답변

4
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 
+0

감사합니다. – azsl1326

2

당신은 같은 뭔가를 시도 할 수 있습니다 : 각 프로젝트에 대한 최대를 얻기 위해 필요

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) 

,이 후 모든 합계 할 수 있습니다.

관련 문제