2014-01-30 44 views
-1

這是我的一塊表的相關信息現在LINQ:獲取最後的記錄,其中值不爲空,並劃分值

------------------------- 
| COL1 |  Id  | 
------------------------- 
| 20 | 25-01-2014 | 
------------------------- 

的問題: 我用LINQ聲明掙扎應獲取列(COL1)的值不等於0.0(零)的最後一條記錄。然後,我需要查找Id列中的日期和今天之間的天數,然後將COL1中的值除以天數。

我們讓事情額外的樂趣(遺憾的挖苦話),我在情況下COL1可能會對在同一天像這樣多個值:

------------------------- 
| COL1 |  Id  | 
------------------------- 
| 20 | 25-01-2014 | 
------------------------- 
| 25 | 25-01-2014 | 
------------------------- 

在這種情況下,我將不得不得到當天那些值的總和,並將結果除以從本例中的25-01-2014到今天的天數。

我希望有人能夠提供幫助。

在此先感謝!

+2

我不認爲你會想解決一個的LINQ查詢全過程。你能告訴我們你到目前爲止有什麼? – akousmata

+0

我討厭回答這些類型的問題:創建類定義,創建示例數據,測試它,然後發佈答案。 (當然OP也是忙於準備這些數據:)) –

回答

2

你去那裏:

var data; // this should be wherever you get your data from. 

var lastGroup = data.GroupBy(item => item.Id).OrderBy(group => group.Key).Last(); 
var date = lastGroup.Key; 
var sum = lastGroup.Sum(); 
var result = sum/(DateTime.Today - date).TotalDays