回复 10楼 yafengliang
你举例的数据,在现实中是不存在的。为什么要求你把“日期”改为“时间日期”型呢?因为在实际使用时“客户,物料,日期”,这个3个条件相同的机会是有可能,也就是上午,中午,下午等等时间,同1个客户买同样的东西的机会是有的,但如果把“日期”改为“时间日期”,VFP的,时间日期精确到秒,也就是说,同1个客户,在同1秒的时间内,买同样的东西的机会,基本上是没有的。
统计原理:
1.利用“客户,名称,日期”3个条件分类排序(订单.dbf)
select a1.客户,a1.名称,a1.日期,(select count(日期) as 排名 from 订单 where a1.客户=客户 and a1.名称=名称 and a1.日期<=日期) as 排名 ;
from 订单 a1
2.根据排序,过滤排名,如,前3名
select a2.* from (select a1.客户,a1.名称,a1.日期,(select count(日期) as 排名 from 订单 where a1.客户=客户 and a1.名称=名称 and a1.日期<=日期) as 排名 ;
from 订单 a1) a2 ;
where 排名<=3
[此贴子已经被作者于2018-2-10 22:52编辑过]