我得到了一个包含以下数据的 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 个表的另一个查询的一部分。
最佳答案
试试这个:
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
;
关于mysql - 从分组行中检索具有最大 id 的行的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43537759/