2015-06-10 65 views
-5

我有一個DataTable如下圖所示的圖像具有行,enter image description hereGROUP BY DataTable中選擇使用C#

我想編寫GROUPBY語句選擇對數據表進行如下獲得輸出,

enter image description here

+3

問題是什麼?此外:你是否嘗試過任何想要達到你想要的? – HimBromBeere

+1

我個人想要很多東西......但通常沒有人會把它們給我,特別是當我沒有做任何工作來獲得這些東西時。 –

+1

根據你的標題「GROUP BY in datatable select using c#」,所以你想在C#中分組數據,而不是使用sql。任何理由**爲什麼**? – ughai

回答

0

試試這個使用LINQC#

var result = from tab in dt.AsEnumerable() 
      group tab by tab["ApplicationNmae"] 
       into groupDt 
       select new 
       { 
        ApplicationNmae = groupDt.Key, 
        Sum = groupDt.Sum((r) => decimal.Parse(r["Count"].ToString())) 
       }; 

DataTable dt1 = new DataTable(); 
dt1 = dt.Clone(); 

foreach (var item in result) 
{ 
    DataRow newRow = dt1.NewRow(); 
    newRow["ApplicationNmae"] = item.ApplicationNmae; 
    newRow["Count"] = item.Sum; 
    dt1.Rows.Add(newRow); 
} 

Grid.DataSource = dt1; 

編號:Group by in DataTable Column sum

+0

我需要將此結果集綁定到gridView進一步如何做到這一點 –

+0

如第二張圖所示。 –

+0

@Nilesh Chandane:查看更新後的結果。 –

1
select ApplicationName, count(*) from DataTableName 
group by ApplicationName 

其中DataTableName應該由你的表的實際名稱在數據庫中被替換,並ApplicationName應該由該表中的列名被替換了包含applicatin名

0

只需將此...

SELECT ApplicationName, COUNT(*) [Count] 
FROM THETABLENAME 
GROUP BY ApplicationName 

或排序和過濾(其中有一個重複,以便通過計數)...

SELECT ApplicationName, COUNT(*) [Count] 
FROM THETABLENAME 
GROUP BY ApplicationName 
HAVING COUNT(*) > 1 
ORDER BY COUNT(*) DESC