2014-02-25 76 views
0

我需要識別表中的重複列,並添加一個新列,其中包含重複列的編號。在此先感謝 這是需要編輯的表。將數據表中的重複行數添加到新列中

enter image description here

結果表:

enter image description here

+0

不太確定你在問什麼...... – Noctis

+1

在數據庫中創建一個視圖,然後將它顯示爲一個包含C#的單個表。 – smoore4

+0

我需要計算第二個表中重複列的數量,並將複製的數字作爲單獨的列添加到結果表中,如上所示 –

回答

1

在SQL中,嘗試這樣的事情:

SELECT FirstName, COUNT(*) FROM FirstNames GROUP BY FirstName 
+0

嗨,謝謝我能夠從這個答案得到所需的結果 –

0

你可以試試這個

void tables() 
    { 
     DataTable dt = new DataTable(); 
     dt.Columns.AddRange(new DataColumn[1] { new DataColumn("Name") }); 
     dt.Rows.Add("John"); 
     dt.Rows.Add("Mike"); 
     dt.Rows.Add("Ann"); 
     dt.Rows.Add("Sam"); 
     DataTable dt1 = new DataTable(); 
     dt1.Columns.AddRange(new DataColumn[1] { new DataColumn("Name") }); 
     dt1.Rows.Add("John"); 
     dt1.Rows.Add("John"); 
     dt1.Rows.Add("Mike"); 
     dt1.Rows.Add("Ann"); 
     dt1.Rows.Add("Ann"); 
     dt1.Rows.Add("Ann"); 
     DataTable dt2 = new DataTable(); 
     dt2.Columns.AddRange(new DataColumn[3] { new DataColumn("Name"), new DataColumn("Available"), new DataColumn("Count") }); 
     int count = 0; 
     foreach (DataRow r in dt.Rows) 
     { 
      count = dt1.Select("Name='" + r[0].ToString() + "'").Count(); 
      if (count > 0) 
       dt2.Rows.Add(r[0].ToString(), "available", count.ToString()); 
      else 
       dt2.Rows.Add(r[0].ToString(), "unavailable", count.ToString()); 
     } 
    } 
+0

嘿thx的答案 - 它確實有幫助! DataTable dt是我們跟隨計數的最終結果 - 據我瞭解,您的答案假定它是存在的以獲得計數。 – BKSpurgeon

0

在LINQ:

table.GroupBy (t => t.Name).Select (t => new {Name = t.Key, Count = t.Count()}) 

假設:

  • table是包含第一臺
  • Name的集合是包含名稱的列名
1

如果您想要LinQ,並記住在你的文件的頂部使用System.Linq;,試試這個:

class Program 
    { 
     public static void Main(string[] args) 
     { 
      Console.WriteLine("Hello World!"); 

      string[] data = new String[] {"john","john","mike","ann","ann","ann"}; 

      var results = data.GroupBy(x => x).Select(g => new {name = g.Key, count = g.Count()}); 

      foreach (var result in results) 
      { 
       Console.WriteLine("{0} occurred {1} times...", result.name, result.count); 
      } 


      Console.Write("Press any key to continue . . . "); 
      Console.ReadKey(true); 
     } 
    } 
相關問題