4

各プロジェクトから最大数を取得するスライドの総数(合計)を取得するために次のクエリを使用していますが、次のエラーが発生します(#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()を削除すると機能しますが、すべてのプロジェクト/スライドの正確な合計が得られません。

すべての返信を事前に感謝します。

4

2 に答える 2

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
于 2011-01-18T17:32:42.440 に答える
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)

プロジェクトごとに最大値を取得する必要があります。その後、すべてを合計できます。

于 2011-01-18T17:30:42.557 に答える