0
我有一份調查答卷表(評估),一個地區可以提交多個評估報告,但我只希望針對每個地區的最新評估做出迴應。由幾個字段組合並選擇最近日期?
下面是我的數據,標有*的記錄將是那些我想回報
AsessmentID AssessmentDate Status AreaID Response Category
1 01/01/2016 Complete 1 1 A
1 01/01/2016 Complete 1 2 B
1 01/01/2016 Complete 1 4 C
2 05/01/2016 Complete 1 5* A
2 05/01/2016 Complete 1 4* B
2 05/01/2016 Complete 1 5* C
3 02/01/2016 Complete 2 1* A
3 02/01/2016 Complete 2 2* B
3 02/01/2016 Complete 2 4* C
4 03/01/2016 Complete 3 5* A
4 03/01/2016 Complete 3 4* B
4 03/01/2016 Complete 3 5* C
5 04/01/2016 Draft 3 3 A
5 04/01/2016 Draft 3 2 B
5 04/01/2016 Draft 3 3 C
這是到目前爲止我的LINQ,但它只返回2個響應
from c in db.Answers.Where(b => b.Status == Status.Complete)
group c by new { c.AreaID, c.AssessmentID, c.AssessmentDate} into grp
select grp.OrderByDescending(c => c.AssessmentDate).FirstOrDefault();
輝煌,唯一的麻煩是,我沒有提到每個響應也有一個屬性稱爲「類別」,我需要每個區域的平均類別值 – totalitarian
我認爲您需要定義如何計算平均值A,B,C ..值。那麼找出你想要的東西應該不那麼難。 :) –
計數(類別)/總和(類別) – totalitarian