首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请问表纪录重复的统计

2012-12-16 
请教表纪录重复的统计.请教有以下两个表纪录.表1纪录A1B1C1表2纪录A1A1B1两表关联后,我想得到的数据是重复

请教表纪录重复的统计.
请教有以下两个表纪录.
表1
纪录
A1
B1
C1

表2
纪录
A1
A1
B1

两表关联后,我想得到的数据是
   重复数据
A1 2
B1 1
请教应该怎么做,谢谢!

[最优解释]
var query=db.表2.GroupBy(t=>t.记录).Select(g=>new{g.Key,c=g.Count()});
[其他解释]
var query=from b in db.表1
          join c in db.表2 on b.记录 equals c.记录
            group c by b.表1  


DataTable dt = new DataTable();
dt.Columns.Add("记录名", System.Type.GetType("System.String"));
dt.Columns.Add("次数", System.Type.GetType("System.Int16"));  

foreach (var item in query)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = item.Key;
                    dr[1] = item.Count();
                    dt.Rows.Add(dr);
                }

dataGridView1.DataSource = dt;

---------------------------------------------
我测试了,这么样做应该是可以的
[其他解释]


var query=(from a in db.表1 
          join b in db.表2 
          on a.记录 equals b.记录)
           .Group By(t=>t.记录).Select(g=>new{g.Key,c=g.Count()}); 

[其他解释]
var query=from ea in db.表1
          where (db.表2.where(p=>p.记录==ea.记录).count()>0)
          select new
          {
             记录=db.表2.where(p=>p.记录==ea.记录).count()
          }
[其他解释]
var query=from ea in db.表1
  where (db.表2.where(p=>p.记录==ea.记录).count()>0)
  select new
  {
      记录=ea.记录
      树龄=db.表2.where(p=>p.记录==ea.记录).count()
  }
[其他解释]
2跟1分别怎么计算的? 
 
此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
[其他解释]
表2的A1有重复两条纪录,B1有一条重复纪录.

------其他解决方案--------------------


上贴第三行应为
group c by b.记录 
[其他解释]


var query=(from a in db.表1 
           join b in db.表2 
           on a.记录 equals b.记录)
           group b by b.记录 into g
             select new 
           {
             g.Key,
             c=g.Count()
           }; 

热点排行