Php 具有最新结果的MYSQL查询
我想为MYSQL创建一个查询语句,它将为我提供商品的最新价格。一个表包含一组价格(Php 具有最新结果的MYSQL查询,php,mysql,sql,database,time-series,Php,Mysql,Sql,Database,Time Series,我想为MYSQL创建一个查询语句,它将为我提供商品的最新价格。一个表包含一组价格(UnitPrice),与每个项目(MIL\u id)配对。但是,我想要每个项目(MIL\u id)的最新价格(UnitPrice)。每行还有一个ReqNum列,该列为每个条目的增量,还有一个Date列为每个条目的增量。那么,我如何进行查询,以获得最新的日期或需求数量的最新价格(UnitPrice) 到目前为止,我所拥有的: 选择t1.VendorPtNum、t1.UnitPrice、MAX(t1.Date)、MAX
UnitPrice
),与每个项目(MIL\u id)
配对。但是,我想要每个项目(MIL\u id
)的最新价格(UnitPrice
)。每行还有一个ReqNum
列,该列为每个条目的增量,还有一个Date
列为每个条目的增量。那么,我如何进行查询,以获得最新的日期或需求数量的最新价格(UnitPrice
)
到目前为止,我所拥有的:
选择t1.VendorPtNum、t1.UnitPrice、MAX(t1.Date)、MAX(t1.ReqNum)、t2.MIL\u id
从TBL列表t2
在t1.VendorPtNum=t2.VendPtNum上左连接tblPurchaseReq t1
按t2.MIL_id分组
具有最大值(t1.日期)
评论后编辑:
你有桌子吗
tblmatinflist
--------------------+
卖方名称
--------------------+
还有一张桌子
tblPurchaseReq
---------------------------------------+
供应商名称|单价|日期|需求编号
---------------------------------------+
我想你可以用这样的东西
SELECT * FROM tblMatInvList
INNER JOIN
(SELECT MAX(Date) as date,
VendorPtNum
FROM tblPurchaseReq
GROUP BY tblPurchaseReq.VendorPtNum) prices
ON prices.VendorPtNum = tblMatInvList.VendorPtNum;
具有较高ReqNum
值的行是否保证比具有较低数字的行更新?是的,每个条目的ReqNum都会增加。因此,ReqNum越高,条目越近。抱歉,应该指定。表tblMatInvList有以下列:VendPtNum、MIL_id,tblPurchaseReq有以下列:VendorPtNum、UnitPrice、Date、ReqNum。除了另一方面,几乎和你拥有的一样。然而,就像另一个答案一样,这个查询给了我905行,而只有140个项目(MIL_id),我想要该项目的最新价格。添加“GROUP BY MIL_id”会给出与每个项目相关的第一个价格,而不是最近的价格。@Nadeemm,请查看这个新答案。GROUP BY tblPurchaseReq.id_prod不存在。如果您所说的id是指MIL_id,那么MIL_id在TBL列表中不是tblPurchaseReq。对不起,它是“供应商名称”。