GroupNo Commodity AuctionRate Quantity Mandi Grade
1 8 25000 5000 2 1
1 8 5555 5000 2 1
1 8 6000 2000 2 1
2 8 4000 500 2 3
1 8 6000 500 2 1
1 8 5000 500 2 1
1 8 77777 500 2 1
1 8 22222 200 2 1
1 8 55555 100 2 1
1 8 100 100 2 1
在这里,我使用以下查询获取此表
select
dense_rank() over (order by AD."Commodity",AD."Mandi",AD."Grade") as "GroupNo"
,AD."Commodity"
,AD."AuctionRate"
,AD."Quntity"
,AD."Mandi"
,AD."Grade"
from "AuctionDetails" AD
order by AD."Quntity" desc
现在,每组记录都有一个“GroupNo”。
现在我想对只有 80% 的具有相同组数的记录的“AuctionRate”和“Quantity”进行求和
在我们的示例中,有 9 行 groupNo 为“1”,只有 1 行 groupNo 为“2”。
现在 9 的 80% 大约是 7,而 1 的 80% 大约是 1。
所以我想要只有前 7 行的“AuctionRate”和“Quantity”的总和,组号为“1”,以及 1 行的总和组号为“2”
期望的结果如下所示
GroupNo Commodity AuctionRate Quantity Mandi Grade
1 8 147554 13700 2 1
2 8 4000 500 2 3
希望你能理解我的问题。