У меня проблемы с обязательным запросом в проекте на веб-сайте онлайн-обучения. Имея базу данных, которая выглядит следующим образом:
Мне нужно выполнить следующий запрос:
Возвращает SQL строку запроса он найдет спорт, в котором страна выиграла медали. Он должен включать в себя количество медалей с псевдонимом «count», а также процент побед этой страны, представленных этим видом спорта, с псевдонимом «процентов». При желании можно заказать по указанному полю в указанном направлении.
У меня решена часть фильтрации. Для первой части, учитывая страну «Норвегия», у меня есть:
SELECT sport, count(*) as count
FROM GOLDMEDAL
WHERE COUNTRY = "Norway" GROUP BY SPORT
Я не знаю, как кодировать процентную часть. Я знаю, что мне нужно каким-то образом суммировать общее количество строк для каждого вида спорта, а затем вычислять, но у меня проблемы с подзапросами. Вот один, который я попробовал, но он не работает:
SELECT SPORT, COUNT(*) as count,
(COUNT(*)*100)/(SELECT SUM(COUNT(*))
FROM GOLDMEDAL
WHERE COUNTRY = "Norway"
GROUP BY SPORT)
FROM GOLDMEDAL
WHERE COUNTRY = "Norway"
GROUP BY SPORT;
РЕДАКТИРОВАТЬ: Решил. вернул все медали, которые страна выиграла по каждому виду спорта. В любом случае, спасибо!