#sql
#sql
Вопрос:
Следующий оператор SQL:
SELECT FTR, COUNT(FTR)
FROM football_data
WHERE Matchday >= '2019-01-18'
GROUP BY FTR
Возвращает следующий результат:
Теперь я пытаюсь получить процент для каждого из этих COUNT (FTR).
Таким образом, сумма этих 3 чисел равна 153. Теперь я хотел бы получить процент от них
Комментарии:
1. Можете ли вы указать, для какого сервера базы данных вы хотите найти решение? Или вам действительно нужно универсальное решение для любой базы данных SQL? Будет легче найти решение для конкретного ядра базы данных, в решении могут использоваться некоторые конкретные расширения SQL.
Ответ №1:
Вы можете использовать оконные функции, если я правильно понимаю:
SELECT FTR, COUNT(*),
COUNT(*) * 1.0 / SUM(COUNT(*)) OVER () as ratio
FROM football_data
WHERE Matchday >= '2019-01-18'
GROUP BY FTR;