2014-10-29 78 views
0

總和我那裏有10個項目每個項目的要求有10個記錄有buy pricesell price挑選每個項目的最新日期和獲得源碼

現在,我的要求是對每個項目我需要最新的日期,並計算買入和賣出價格... ...以同樣的方式,我需要所有10個項目做最後總結所有的購買和銷售項目得到全面總和......我需要做的這件事在單個查詢..

我可以寫的查詢和子查詢,但對如何編寫這樣一個複雜的查詢不知道..

數據爲:

item date  buy sell 

item1 28/10/2014 10  10 
item1 27/10/2014 10  10 
item1 26/10/2014 10  10 
item2 28/10/2014 10  10 
item2 27/10/2014 10  10 
item2 26/10/2014 10  10 
item3 28/10/2014 10  10 
item3 27/10/2014 10  10 
item3 26/10/2014 10  10 

我rewuirment是讓

item1 28/10/2014 10  10 
item2 28/10/2014 10  10 
item3 28/10/2014 10  10 

最後totay buy=30total sell=30

我已經試過至今:

下面查詢我試圖

select item as c, buy as a ,sell as b,date from table group by item order by substr(date,7,4)||substr(date,4,2) ||substr(date,1,2) desc limit 1 

該查詢返回只對應一個1行的值一個項目不是3行..

我不知道如何構建這些查詢。

專家,請幫助我。

感謝您的時間

+0

我不明白爲什麼總銷量是20 – 2014-10-29 07:19:45

+0

@YohanesKhosiawan許先漢我道歉總銷量應該是30 ..更新了我的問題 – Siva 2014-10-29 07:21:51

+0

嘗試檢查下面的答案 – 2014-10-29 07:53:54

回答

0

下面是我所使用的sqlitedate函數來實現查詢。

select item as c, buy_qua as a ,buy_price as b,max(date(substr(date,7,4)||'-'||substr(date,4,2) ||'-'||substr(date,1,2))) as e from table group by item order by e desc 
0

您正在使用select item as c, buy as a ,sell as b,date from table group by item order by substr(date,7,4)||substr(date,4,2) ||substr(date,1,2) desc limit 1

刪除limit 1

所以,現在你最終的查詢將是:

select item as c, buy_qua as a ,buy_price as b,max(date(substr(date,7,4)||'-'||substr(date,4,2) ||'-'||substr(date,1,2))) as e from table group by item order by e desc 
+0

感謝您的回覆,如果我刪除了'limit1',那麼我沒有得到這些項目的最後日期。 – Siva 2014-10-29 07:18:23

+0

'Limit'實際上限制了要顯示的結果記錄的數量,請參閱此[鏈接](http://www.1keydata.com/sql/sql-limit.html)我不認爲'限制'鏈接到'獲取項目的最新日期' – 2014-10-29 07:20:52

1

你需要得到max(date)而不是使用limit 1,你可以只是sumbuysell值照例:

select item as c, buy as a, sell as b, max(date), sum(buy) as totalbuy, sum(sell) as totalsell 
from trans 
group by item 

SQLFiddle:http://sqlfiddle.com/#!7/ef07f/14

EDIT

每其文檔,max可用於串爲好。
https://www.sqlite.org/lang_corefunc.html;它也可能有單個或多個參數。

+0

Thankanks爲您的迴應...但我的日期是一個字符串值... max不工作 – Siva 2014-10-29 08:03:30

+1

感謝您的回答....但使用'日期'功能我已經實現了... +1的支持 – Siva 2014-10-29 08:24:00