почему этот запрос фальсифицируется? - PullRequest
0 голосов
/ 19 апреля 2011
select max( sum(duration) ),cd from rent group by cd; 

.

ОШИБКА 1111 (HY000): недопустимое использование групповой функции

Ответы [ 2 ]

4 голосов
/ 19 апреля 2011

Из документации - групповые (агрегатные) функции, которые работают с наборами значений. .SUM возвращает скалярное значение.

Это то, что вы хотите?

SELECT MAX(duration_sum_by_cd) FROM (
  SELECT SUM(duration) duration_sum_by_cd FROM rent 
    GROUP BY cd; 
) t
0 голосов
/ 19 апреля 2011

этот запрос очень сломан. во-первых, я не думаю, что вы можете поставить максимум вокруг суммы ... во-вторых, вы группируете столбец "cd", которого нет в выбранных столбцах.

Я предлагаю сделать несколько / много уроков из здесь

...