如何获得一个排的细节与最大的id
问题描述:
我有一个MySQL表以下数据如何获得一个排的细节与最大的id
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
请注意,总是在最近一个项目的条目将具有最大的commodityId。现在我想得到一个项目的最近售价。我写了下面的代码这段代码的
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
我得到的销售价格是最老的项目的销售价格。我想要最近的条目的销售价格是。我需要表格中所有项目的最近销售价格。有人可以提出查询中的更改吗?
我必须使用那个销售价格作为另一个查询的一部分,我加入了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
;
+0
我向你投了票,但为什么选择'B.MAX_COMM_ID'而不是'A.commodityid'?为什么不只是做'SELECT A. *'? –
+0
只是指出该领域,并根据问题列出的领域。是的,如果你愿意,你可以写A.commoodityid或A. *。 – etsa
是什么itemcode?请发布完整的详细信息。 –
请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查询 – Strawberry