Когда я пытаюсь понять это, я понимаю, что он пытается показать, что некоторые задания получают больше приложений, чем другие.Например, рассмотрим 100 рабочих мест, где у 99 фактически нет приложений, а у остальных - все остальные.Тогда вы скажете: «100% приложений уходят на 1% рабочих мест».Это крайний пример, демонстрирующий одно полезное доказательство.
Также очевидно, что «100% приложений уходят на 100% рабочих мест».
Самое подробное, что вы можете сделатьполучить первую работу, затем две лучшие работы и т. д., пока все они не будут включены, и рассчитать заявку.
Я думаю, что это даст вам все пары XY:
select j.jobId,count(*) as appcount
into #a
group by j.jobId
from jobj j
inner join applications a on j.jobId=a.jobId
declare @sumjobs int =(select count(*) from #a)
declare @sumapps int =(select sum(appcount) from #a)
select
100*sum(appcount) over (order by appcount ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)/@sumapps as X,
100*sum(1) over (order by appcount ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)/@sumjobs as Y
from #a
Обратите внимание, что вам нужно иметь sql server 2012+, чтобы это работало.Если это не помогает, предоставьте образцы данных, чтобы мы могли их протестировать.