2011-11-09 66 views
1

我對linq很陌生,我試圖提出一個針對數據集的linq查詢,該數據集將根據分組記錄返回最大計數值。通過在linq中分組返回最大記錄數

LINQ查詢,我至今是

Dim sales = From soldData In SDOSoldDataTable.AsEnumerable 
     Where (soldData.Field(Of DateTime)("sold_date") >= lastMonthStartDate _ 
     And soldData.Field(Of DateTime)("sold_date") <= lastMonthEndDate) _ 
     Group soldData By username = soldData.Field(Of String)("user_name") _ 
     Into Group _ 
     Select _ 
      username, _ 
      numSales = Group.Count() 

該查詢給了我每銷售人員(用戶名)銷售的數量在過去一個月。我現在想要返回上個月銷售額最高的銷售人員的姓名。我猜這是一種使用Max()對銷售的Aggregate查詢類型,但我似乎無法弄清楚。

感謝, 奧馬爾

回答

0
Dim LargestSale = (From sale In sales 
        Order By sale.numSales Descending 
        Select sale).First() 
+0

謝謝,但我現在得到對「銷售」 「式的‘對象’不可查詢的表達不同。確保你是不是缺少程序集引用和/或LINQ提供程序的名稱空間導入。「 我想我輸入正確的庫: 進口System.Data 進口System.Linq的 進口System.Linq.Expressions 進口System.Data.DataTableExtensions 進口將System.Data.Linq – Omar

+0

我只是一派錯誤,一些結果提到了「選項推斷」。我打開了它,但沒有區別。另外,我正在NET 4.0中工作,這有所作爲。 – Omar