2017-04-21 41 views
0

我有一个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个表格。

+0

是什么itemcode?请发布完整的详细信息。 –

+0

请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查询 – Strawberry

回答

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 
; 
+0

我向你投了票,但为什么选择'B.MAX_COMM_ID'而不是'A.commodityid'?为什么不只是做'SELECT A. *'? –

+0

只是指出该领域,并根据问题列出的领域。是的,如果你愿意,你可以写A.commoodityid或A. *。 – etsa

相关问题