create table 订单(客户 c(10),名称 c(10),单价 n(10,2),日期 d)
insert into 订单 ;
select '客户1','物料1',10,{^2018-01-05} union all ;
select '客户1','物料1',10,{^2018-01-04} union all ;
select '客户1','物料1',10,{^2018-01-03} union all ;
select '客户1','物料1',10,{^2018-01-02} union all ;
select '客户1','物料1',10,{^2018-01-01} union all ;
select '客户1','物料1',10,{^2018-01-06} union all ;
select '客户1','物料1',10,{^2018-01-06} union all ;
select '客户1','物料1',10,{^2018-01-07} union all ;
select '客户1','物料2',10,{^2018-01-07} union all ;
select '客户2','物料1',10,{^2018-01-05} union all ;
select '客户2','物料1',10,{^2018-01-04}
select a2.* from (select a1.客户,a1.名称,a1.日期,(select count(日期) as 排名 from 订单 where a1.客户=客户 and a1.名称=名称 and a1.日期<=日期) as 排名 ;
from 订单 a1) a2 ;
where 排名<=3
有个缺点,当最后1天有4条以上的同样的记录时,好像查不到
[此贴子已经被作者于2018-2-6 17:27编辑过]