Выбор подмножества строк, которые превышают процент от общего значения
У меня есть таблица с клиентами, пользователями и доходами, аналогичными приведенным ниже (на самом деле тысячи записей):
Customer User Revenue
001 James 500
002 James 750
003 James 450
004 Sarah 100
005 Sarah 500
006 Sarah 150
007 Sarah 600
008 James 150
009 James 100
Что я хочу сделать, так это вернуть только самых дорогих клиентов, которые составляют 80% от общего дохода для пользователя.
Чтобы сделать это вручную, я бы упорядочил клиентов Джеймса по их доходам, вычислил процент от общего и промежуточного итогового процента, а затем вернул бы записи только до того момента, как текущий итог достиг 80%:
Customer User Revenue % of total Running Total %
002 James 750 0.38 0.38
001 James 500 0.26 0.64
003 James 450 0.23 0.87 <- Greater than 80%, last record
008 James 150 0.08 0.95
009 James 100 0.05 1.00
Я пытался использовать CTE, но до сих пор не получилось. Есть ли способ сделать это с помощью одного запроса, а не вручную в листе Excel?