2016-03-03 6 views
1

Я хотел получить соответствующее поле для максимального значения. Поэтому я хочу показать фактическую эффективность, которая имеет самый высокий показатель преступности в этом районе.Максимальное значение запроса запроса Mysql

Вот что я пробовал. Я не уверен, правильно ли я использую регистр.

SELECT b.boroughName, 
     actualOffence(CASE WHEN MAX(c.crimeCount)), (c.crimeCount) 
    FROM FYP_Borough b 
     JOIN FYP_Crime c 
      ON b.boroughID=c.boroughID 
     JOIN FYP_Offence o 
      ON c.offenceID=o.offenceID 
GROUP BY b.boroughName 
+0

Что такое 'actualOffence' столбец? Функция? –

+0

Да его колонка – armze3

ответ

0

Вы должны получить максимальную crimeCount за boroughname в подзапрос, а затем join соответственно. Если я правильно понимаю вашу структуру данных, это должно работать:

SELECT b.boroughName, 
    o.actualOffence, 
    c.crimeCount 
FROM (SELECT b2.boroughID, b2.boroughname, max(c2.crimecount) maxcrimecount 
     FROM FYP_Borough b2 
      JOIN FYP_Crime c2 ON b2.boroughID=c2.boroughID 
     GROUP BY b2.boroughID, b2.boroughName 
    ) b JOIN FYP_Crime c ON b.boroughID=c.boroughID AND b.maxcrimecount = c.crimecount 
     JOIN FYP_Offence o ON c.offenceID=o.offenceID 
+0

Это говорит Неизвестный столбец «b.boroughID» в «on» – armze3

+0

@ armze3 - Я отредактировал свой ответ около 5 минут назад - вы пробовали обновления? Я изначально оставил этот столбец из подзапроса, но заметил после того, как я отправил ответ ... – sgeddes

+0

Да, теперь это сработало спасибо – armze3

Смежные вопросы