Как найти процентное значение из столбца таблицы

Я пытаюсь найти процентное значение каждого числового значения с тем же идентификатором в моей таблице. Например, если моя таблица состоит из этого:

id  answer          points
1   answer 1        3
1   answer 2        1
1   answer 3        10
1   answer 4        5
1   answer 5        6
1   answer 6        10
1   answer 7        10
1   answer 8        2

Если максимальное количество баллов составляет 80, как я могу отобразить текущий результат (точку) из базы данных в процентном выражении?

-3

Решение

Суммируйте () баллы и разделите их на 80:

select id, sum(points), sum(points)/80 as percentage
from table
group by id
2

Другие решения

Если я правильно понимаю:

select   100 * (points / 80) as Percentage
from     YourTable

Вы могли бы даже рассмотреть подсчет общего количества баллов:

select   100 * (points / (select sum(points) from YourTable)) as Percentage
from     YourTable

Таким образом, вы можете просто добавить ответы в таблицу, и расчет будет скорректирован соответствующим образом.

1

ты можешь использовать GROUP BY для этого вроде

select maxpoint * 0.1 as maxpoint_percent
from (
select id, sum(points) as maxpoint
from table1
group by id ) xx
where maxpoint >= 80;
0
По вопросам рекламы [email protected]