2017-04-21 74 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