C# 将数据表中的重复行数添加到新列

C# 将数据表中的重复行数添加到新列,c#,C#,我需要识别表中的重复列,并添加一个具有重复列数的新列。提前谢谢 这是需要编辑的表 结果表: 在SQL中,尝试以下操作: SELECT FirstName, COUNT(*) FROM FirstNames GROUP BY FirstName 你可以试试这个 void tables() { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[1] { new DataCo

我需要识别表中的重复列,并添加一个具有重复列数的新列。提前谢谢 这是需要编辑的表

结果表:


在SQL中,尝试以下操作:

SELECT FirstName, COUNT(*) FROM FirstNames GROUP BY FirstName
你可以试试这个

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());
        }
    }
在林克:

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

  • table
    是包含第一个表的集合
  • Name
    是包含名称的列的名称

如果需要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);
        }
    }

不太确定你在问什么…在数据库中创建一个视图,然后用C#作为一个表显示。我需要计算第二个表中的重复列数,并将重复的列数作为一个单独的列添加到结果表中,如上图所示。这是一个复杂程序的一部分。我需要做的是计算复制品。你能告诉我怎么查询吗。我找不到将查询连接到我的程序的方法嗨,谢谢我能够从这个回答中获得所需的结果嘿,谢谢你的回答-它确实有帮助!数据表dt是我们所追求的最终结果以及计数——据我所知,你的答案假定它的存在是为了得到计数。