Я пытаюсь выяснить, как вернуть несколько столбцов, которые соответствуют желаемым совокупным функциям, максимум суммы, в Sql.
на основе данных из серотипов CDC о беспокойстве: болезни и вспышки, я хочу знать, какая еда вызвала большинство болезней, каждая номера, какая -то годовая, такая же годова в основном макс (sum (no_of_illnesses)). < /p>
Чтобы сделать это, я создал подпрограмму, которая суммировала число заболеваний по категории продуктов питания в течение этого года, а затем я попытался найти максимум этих сумм. class="s-table-container">
Year
Food
Total_Illnesses
2011
Pork
238
2012
Pork
14
2013 < /td>
Свинина < /td>
1308 < /td>
< /tr>
...
....
. />
2011
Chicken
545
2012
Chicken
544
2013 < /td>
курица < /td>
2135 < /td>
< /tr>
...
/>
И, в конце концов, я хотел бы вернуть все три столбца для максимального (total_illneses), сгруппированного к году, и его соответствующей категории продуктов питания, так что один, полученный в строке/год, может выглядеть как это, если курица вызвала наиболее болезни в 2011 году: 2011 | Курица | 545 < /p>
Мой запрос: < /p>
select Year_first_ill, Food_category, max(total)
from (select Year_first_ill, Food_category, sum(No_of_illnesses) as total
from salmonella
group by Food_category, Year_first_ill)s
group by Food_category, Year_first_ill
< /code>
Но то, что возвращается, - это вся таблица подказки, показанная выше (но в другом порядке). И независимо от того, что я пытаюсь, я не могу правильно вернуть все три столбца. Два предложения, которые я прочитал в Интернете, - это а) группировка по обоим столбцам (которые у меня уже есть выше) и б) функция окон. Ни нет работы. Спасибо!
Примечание: я использую скрипку DB, MySQL V8.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ons-in-sql