以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一个SQL语句  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146515)

--  作者:huangxueyao
--  发布时间:2020/2/25 15:26:00
--  请教一个SQL语句
表A字段:商品ID,报价时间,供应商ID
如:
A1  2019-12-13  G001
A1  2020-01-01  G001
A1  2020-01-12  G001
A2  2019-12-11  G001
A2  2020-01-06  G001
A2  2020-01-18  G001
A3  2019-12-11  G002
A3  2020-01-01  G002
A3  2020-01-12  G002

现在想要查询一个结果:供应商编号为G001的所有商品的最新两条报价,也就是如上图标红的数据,SQL应该怎么写?谢谢~

--  作者:有点蓝
--  发布时间:2020/2/25 16:13:00
--  
Select w.* FROM {表A} As w where (Select count(*) As i  from {表A}  WHERE {表A}.商品ID = w.商品ID And {表A}.报价时间 > w.报价时间) < 2 And 供应商ID= \'G001\' ORDER BY 报价时间
--  作者:huangxueyao
--  发布时间:2020/2/25 16:16:00
--  
现在问题是每条记录的报价时间不确定,只是需要最新的两条记录。
--  作者:有点蓝
--  发布时间:2020/2/25 16:42:00
--  
如果测试有问题,请上传实例说明