Попытка найти SQL-запрос для определения максимальной суммы - PullRequest
0 голосов
/ 21 апреля 2019

Таблица правонарушений содержит информацию о совершенных преступлениях.Я пытаюсь определить, в каком финансовом квартале (1,2,3,4) было совершено наибольшее количество преступлений.

SELECT financialquarter_ID, SUM(numberOfOffences) FROM offences WHERE financialquarter_ID = 1;

этот запрос выводит 4160

SELECT financialquarter_ID, SUM(numberOfOffences) FROM offences WHERE financialquarter_ID = 2;

Этот запрос выводит 4227

SELECT financialquarter_ID, SUM(numberOfOffences) FROM offences WHERE financialquarter_ID = 3;

Этот запрос выводит 4647

SELECT financialquarter_ID, SUM(numberOfOffences) FROM offences WHERE financialquarter_ID = 4;

Этот запросвыходы 4665

Итак, мы видим, что четвертый квартал имеет наибольшее количество преступлений.Я пытаюсь получить запрос на вывод идентификатора этого financialquarter_ID (четвертый квартал).

До сих пор я пытался выполнить следующий запрос безуспешно.

select yt.financialquarter_ID, yt.numberOfOffences
From offences yt
where numberOfOffences = 
(select max(numberOfOffences) from offences st where yt.financialquarter_ID = st.financialquarter_ID)
GROUP by numberOfOffences DESC
LIMIT 1 

Вот таблица.This is my table offences

Ответы [ 2 ]

1 голос
/ 21 апреля 2019

Используйте group by и limit:

SELECT financialquarter_ID, SUM(numberOfOffences)
FROM offences
GROUP BY financialquarter_ID
ORDER BY SUM(numberOfOffences) DESC
LIMIT 1;

Примечание. В случае связей возвращается только одна строка.

0 голосов
/ 21 апреля 2019

это будет работать:

SELECT financialquarter_ID, SUM(numberOfOffences) FROM offences group by 
financialquarter_ID
having SUM(numberOfOffences)=(SELECT count(*) FROM offences group by 
financialquarter_ID order by 
count(*) desc limit 1
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...