2016-01-06 5 views
1

В течение жизни я не могу понять, почему этот запрос бросает ошибку 1111. Помогите!mySQL Бросание 1111 Недопустимое использование групповой функции

SELECT fs.player_id, count(fs.game_id) 
FROM eg.flag_stats fs, eg.flag_games fg 
where fs.here = '1' 
and fg.start_time > max(re.end_time) 
and fs.freq = fg.winning_freq 
and fs.game_id = fg.id 
group by fs.player_id 
order by count(fs.game_id) desc; 

Просьба и спасибо!

+2

'max (re.end_time)' - что вы пытаетесь здесь сделать? В какой таблице есть 're' alias? Здесь у вас возникла ваша проблема - вы не можете поместить агрегат 'max' в предложение' where'. Примеры данных и желаемые результаты могут оказаться полезными. – sgeddes

ответ

0

Благодаря @sgeddes ниже, это исправление.

SELECT pl.name, count(fs.game_id) 
FROM eg.flag_stats fs, eg.flag_games fg, eg.player pl 
where fs.here = '1' 
and fg.start_time > (select max(end_time) from eg.reset) 
and fs.freq = fg.winning_freq 
and fs.game_id = fg.id 
and fs.player_id = pl.id 
group by fs.player_id 
order by count(fs.game_id) desc 
Смежные вопросы