Скажем, у меня есть таблица данных, которая выглядит следующим образом:
ItemNo | ItemCount | Proportion
------------------------------------------
1 3 0.15
2 2 0.10
3 3 0.15
4 0 0.00
5 2 0.10
6 1 0.05
7 5 0.25
8 4 0.20
Другими словами, всего имеется 20 элементов, а совокупная доля каждого ItemNo
составляет 100%.Здесь важно упорядочить строки таблицы.
Можно ли выполнить запрос SQL без циклов или курсоров , чтобы вернуть first ItemNo
что превышает совокупную пропорцию?
Другими словами, если «пропорция», которую я хотел проверить, составляла 35%, первая строка, которая превышает это значение, ItemNo 3
, потому что 0,15 + 0,10 + 0,15 = 0,40
Точно так же, если бы я хотел найти первую строку, которая превысила 75%, это было бы ItemNo 7
как сумма всех Proportion
до тех пор, пока эта строка не станет меньше 0,75.