Разделите каждое значение столбца на общее количество записей в таблице - PullRequest
1 голос
/ 01 мая 2019

Запрос, который способен делить каждое значение столбца на общее количество записей в таблице.

Я попытался выполнить следующий запрос

select ( (p.rank/count(*)) * 100 ) as rankratio from RankTable p;

Я вижу ошибку, а нев состоянии выполнить запрос.например
всего записей 5, поэтому (1/5) * 100 = 20

RankTable         
rank            rankratio        
1               20
2               40
3               60
4               80
5               100

1 Ответ

1 голос
/ 01 мая 2019

использовать аналитические count(*) over():

select ( (s.rank/s.total_count) * 100 ) as rankratio 
from
(
select rank, count(*) over() as total_count
  from RankTable p
)s
order by s.rank;
...