2011-11-09 9 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() 

です。私は今、最後の1ヶ月間に最も売り上げがあったセールスマンの名前を返すことにします。私はそれが売り上げに対してMax()を使って集計クエリのいくつかのタイプだと思っていますが、私はそれを把握していないようです。

おかげで、 オマール

答えて

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

私はエラーをグーグル、いくつかの結果は「Option Infer」をオンにすることを言及しています。私はそれをオンにしましたが、違いはありません。また、私は違いを生み出すNET 4.0で働いています。 – Omar

関連する問題