Я пытаюсь найти процентное значение каждого числового значения с тем же идентификатором в моей таблице. Например, если моя таблица состоит из этого:
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, как я могу отобразить текущий результат (точку) из базы данных в процентном выражении?
Суммируйте () баллы и разделите их на 80:
select id, sum(points), sum(points)/80 as percentage
from table
group by id
Если я правильно понимаю:
select 100 * (points / 80) as Percentage
from YourTable
Вы могли бы даже рассмотреть подсчет общего количества баллов:
select 100 * (points / (select sum(points) from YourTable)) as Percentage
from YourTable
Таким образом, вы можете просто добавить ответы в таблицу, и расчет будет скорректирован соответствующим образом.
ты можешь использовать 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;