注册 登录
编程论坛 VFP论坛

请教一个查询问题,请高手赐教

ratar 发布于 2022-05-17 10:52, 1352 次点击
我有个客户资产表khzcb,里面有员工代码brokerID,客户资金账号fundid,客户总资产zzc,我想查询出每个员工,资产排名前20名的客户明细,应该怎么查?就是每个员工都会有成千上万个客户,我需要在一张表中查询出每个员工,资产排名前20的客户,多谢多谢,请赐教!
9 回复
#2
laowan0012022-05-17 11:34
select brokerID,fundid,sum(zzc) from khzcb group by brokerID,fundid order by brokerID,fundid,sum(zzc)
上面是每位员工对应客户的总资产(由大到小排序),需要多少个,再想办法吧
#3
ratar2022-05-17 13:38
回复 2楼 laowan001
谢谢,不过我想要的还得是明细。。。
#4
laowan0012022-05-17 13:42
以下是引用ratar在2022-5-17 13:38:50的发言:

谢谢,不过我想要的还得是明细。。。

明细是第二步,先把符合条件的客户找出来,然后再查这些客户的明细
#5
ratar2022-05-17 13:54
回复 4楼 laowan001
您说的我有点没太理解,比如A员工有1000个客户,B员工有1000个客户,同理C-E员工也都有1000个客户,现在我需要查询出员工A-E,每个员工资产前20名的客户。
#6
ratar2022-05-17 13:55
回复 4楼 laowan001
能烦请您写一下,我学习一下吗,多谢!
#7
laowan0012022-05-17 15:35
从一个已经排好序的表里取前20条记录,这个会吧?
#8
schtg2022-05-17 19:32
回复 楼主 ratar
试一试,是你希望的吗?
SELECT * FROM khzcb A WHERE 20>=(SELECT COUNT(*) FROM khzcb WHERE brokerID=A.brokerID AND zzc>A.zzc) ORDER BY A.brokerID,A.zzc DESC
#9
my23182022-05-17 20:18
把你的想法写成一个sql语句就行了(●°u°●)​ 」
#10
b_water2022-05-17 20:45
I don't now
[doge]
1