我有一个包含以下数据的mysql表
commodityId ItemCode ItemName SellingPrice
469 8901764362804 MM Pulpy Orange Pet 18
692 8901764362309 MM Pulpy 65 65
719 8901764362804 MM Pulpy Orange Pet 20
1019 8901764362804 MM Pulpy Orange Pet 20
1041 8901764362804 MM Pulpy Orange Pet 20
请注意,项目的最近输入始终具有最大商品ID。现在我想得到一个项目的最近销售价格。我写了以下代码
select max(commodityId), itemname, sellingprice from purchases
group by itemcode order by commodityId desc;
此代码的输出为
692 MM Pulpy 65 65
1041 MM Pulpy Orange Pet 18
我得到 18 作为最老门票的售价。我希望最近进入的售价 20 。我需要我桌子上所有物品的近期售价。有人可以建议查询中的更改吗?
我必须使用该售价作为另一个查询的一部分,我加入了4个表。
答案 0 :(得分:1)
试试这个:
SELECT B.MAX_COMM_ID, A.itemname, A.sellingprice
from purchases A
INNER JOIN (select itemcode, max(commodityid) AS MAX_COMM_ID
from purchases
group by itemcode ) B ON A.itemcode=B.itemcode AND A.commodityid=B.MAX_COMM_ID
;