2016-09-29 63 views
0

我對股票的相關工作project.while根據特定日期檢索龍頭股,它顯示的每一項紀錄history.Like我的數據庫「細節」低於,抓取每個項目的最後更新的數據在MySQL

details table

我做了一個搜索查詢,但它顯示的記錄歷史項目, 我的查詢是:

select details.itemname, details.total from details 
inner join (select DISTINCT itemname, max(date) as MaxDate 
from details group by itemname) tm on details.itemname = tm.itemname 
and details.date <='2016-09-28' 

但結果應該來是這樣的:

enter image description here

+0

該查詢正在從今天之前的詳細信息中獲取所有信息。我還沒有制定出最好的查詢,但是你的內部連接中的一個比完整的查詢更接近你想要的。 – CptMisery

回答

0

這可能是你在找什麼?

select details.itemname, details.total 
from details 
order by details.date desc 
limit 1; 
+0

感謝您的建議。但此查詢只顯示最後一項輸入。與上述情況一樣,它只顯示「Pen」記錄,即150.但未顯示CFL​​和BULB數據。 – saurabh

0

這是您的問題的解決方案。

select details.itemname, details.total from details 
    inner join 
    (select DISTINCT itemname, id, max(date) as MaxDate 
    from details GROUP by details.itemname) tm 
    on (details.itemname = tm.itemname and details.date = tm.MaxDate) 
    and details.date <='9/28/2016' 

問題是功能依賴。 Max()和GROUP BY之間。

相關問題