[求教]sql语句如何显示出总计小于100的前几项记录

SQL语句要表示“数量总计小于100的前n项记录”,也就是:如果前面5项的数量加起来就是98了,第六个记录加上去就是102了,超过了100,用sql语句怎么查找该5项记录,谢谢各位老师了。
sum统计函数只能显示所有group by或者having条件下的显示数,但是像上面这样的,怎么也实现不了,如果加入一个判断数k,判断k在什么位置,从而写出:select top k 名称,数量 from P_WQ之类的,系统又提示sql语句中“标识符丢失”之类的错误提示,想破脑袋也不行。
以下是我的测试文件
SYS_WQ(系统武器): 类别、名称、攻击、防御
P_WQ(玩家的武器):姓名、数量

要求显示:姓名为***,类别是“交通”,用到的攻击最大的100个“交通”类装备是哪几个,有没有一条sql语句能实现的,谢谢!