access sql语句 数据查询

产品名称 数量 日期
A 100 2018-3-1

A 250 2018-3-2

A 200 2018-3-3

B 100 2018-3-1

B 100 2018-3-2

B 200 2018-3-3

B 100 2018-3-4

需求是这样的 按照产品名称 时间排号顺序

去每种商品数量总数达到300的记录 刚好超过300的那条记录保留

筛选结果

产品名称 数量 日期
A 100 2018-3-1

A 250 2018-3-2

B 100 2018-3-1

B 100 2018-3-2

B 200 2018-3-3

请教一下该如何用sql实现呢

图片说明
select c,id,s from (select c,id,(select sum(d) from testTable2 where id<=a.id and c=a.c) s from testTable2 a) b where b.s<=8
图片说明
名称代入c,日期代入id,数量代入s,300取代8

需求是这样的 按照产品名称 时间排号顺序 ----这条好实现 最后加上order by 产品名称,时间编号 如需降序加上desc。

去每种商品数量总数达到300的记录 刚好超过300的那条记录保留 ----这条看不懂。不知道您想要的是什么。

如果是想只显示商品数量小于等于三百的,可以这么写:
select * from 表名 where 商品数量<=300 order by 产品名称,时间编号 如需降序加上desc

SELECT * from 表名 order by 产品名称, 日期;

SELECT TOP 300 * from 产品 ORDER BY 产品名称, 日期;

oracle数据库么?select * from ( select t.rownum as rm ,t.字段 from 表 t order by 名称,时间) where rm < = 300

select 产品名称,数量,日期 from 表 where 数量<=300 order by 产品名称,日期