私は大きなデータテーブル(500k-1m行)を持っていますが、詳細には触れませんが、エンドユーザーがすべてのデータを表示できるようにする必要があるため、これは要件です。これはローカルサーバー上にあるので、帯域幅などは私には関係ありません。
DataTableにグループ化する必要のあるDateTimeフィールドがあります。グループ化の意味を説明しましょう...おそらく、私が意味しているとは思わないでしょう(ここで他の質問を見てください!)。
var table = new DataTable();
table.Columns.Add("EventTime", typeof(DateTime));
table.Columns.Add("Result", typeof(String));
table.Columns.Add("ValueOne", typeof(Int32));
table.Columns.Add("ValueTwo", typeof(Int32));
table.Rows.Add("2012-02-06 12:41:45.190", "A", "7", "0");
table.Rows.Add("2012-02-06 12:45:41.190", "B", "3", "89");
table.Rows.Add("2012-02-06 12:59:41.190", "C", "1", "0");
table.Rows.Add("2012-02-06 13:41:41.190", "D", "0", "28");
table.Rows.Add("2012-02-06 17:41:41.190", "E", "0", "37");
table.Rows.Add("2012-02-07 12:41:45.190", "F", "48", "23");
上記のテーブルをグループ化して、「ValueOne」列の合計と「ValueTwo」列の平均を取得することを期待します。分単位(最初と最後の行のみがグループ化され、残りは値を提供するだけ)または日数(最後の行を除くすべて)でグループ化するように指定できるように、グループ化を少し柔軟にする必要があります1つの行にグループ化されます)など。
私はこれを数回試しましたが、どこにも行きません。私のLINQの知識はあまり良くありませんが、私はこれができると思いました!
注:DataTableは、変更できない計算/ビュー用のマシン上にすでに存在するため、「ばかげたことをやめて、SQLでフィルター処理してください!!!」と言います。有効な答えですが、私には役に立たないのです!:-D
また、タイトルで見逃した場合は、C#でこれが必要です-私は.NET4.0で作業しています...
あなたが助けることに決めたと仮定して、事前に感謝します!:-)