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

运用linq进行排序 条件判断 分组求和 希望高手写个简单的例子

2012-12-14 
使用linq进行排序 条件判断 分组求和 希望高手写个简单的例子使用linq进行排序 条件判断 分组求和(三个条

使用linq进行排序 条件判断 分组求和 希望高手写个简单的例子
使用linq进行排序 条件判断 分组求和(三个条件都需要) 希望高手写个简单的例子 我是新手 请大家多多帮助 谢谢
[解决办法]
public class Test
    {
        public string Name{get;set;}
        public int Num{ get; set; }
    }

 protected void Click(object sender, EventArgs e)
    {
        List<Test> list = new List<Test>();
        list.Add(new TestData() { Name = "A", Num=50});
        list.Add(new TestData() { Name = "A", Num=50 });
        list.Add(new TestData() { Name = "A",Num=50 });
        list.Add(new TestData() { Name = "B",Num=50});
        list.Add(new TestData() { Name = "C", Num=50 });
        list.Add(new TestData() { Name = "C", Num=50 });
   
        var query = from l in list
                    group l by new { l.Name, l.Num} into g
                    select new
                    {
                        Name = g.Key.Name,
                        Num= g.Sum(a => a.Num)
                    };
        string result = "";
        foreach (var q in query)
        {
            
        }
      
    }
[解决办法]


void Main()
{
 List<Test> list = new List<Test>();
  list.Add(new TestData() { Name = "A", Num=50});
  list.Add(new TestData() { Name = "A", Num=50 });
  list.Add(new TestData() { Name = "A",Num=70 });
  list.Add(new TestData() { Name = "B",Num=50});
  list.Add(new TestData() { Name = "C", Num=50 });
  list.Add(new TestData() { Name = "C", Num=50 });

  var query = from l in list
  where l.Num==50   //条件判断


  group l by l.Name into g  //分组
  orderby g.Count() descending//排序
  select new
  {
  Name = g.Key,
  Num= g.Sum(a => a.Num) //f求和
  };
  string result = "";
  foreach (var q in query)
  {

  }
}
public class Test
  {
  public string Name{get;set;}
  public int Num{ get; set; }
  }


[解决办法]
补充一下问题吧
如:有一个Mark表 
                Id       Score       CreatTime       
               1        5          2011-11-1
               1        5          2011-11-1
               1        5          2011-11-1
               1        5          2011-11-1
               1        5          2011-11-1
               1        5          2011-11-1        
               2        6          2011-11-2
               3        8          2011-11-3
               4        6          2011-11-4
               4        6          2011-11-4
               4        6          2011-11-4
               4        6          2011-11-4
            、、、       、、、         、、、、
                 20       7          2011-12-25



 还有一个User表
现在想做的是 根据user表中的Id,查询出该登录用户最近10次的成绩总和(相同时间的成绩加在一起) 
不知道我描述是否清楚 请大家谅解一下哈
[解决办法]
哈哈 督查来了 我刚刚看了一下关于linq的帖子 基本上都有督查的影子 谢谢哟 麻烦帮助一下
[解决办法]
var query=(from u in User
         join m in Mark
         on u.Id equals m.Id 
         where u.Id==1 
         group m by m.CreateTime into g
         select g.Sum(t=>t.Score)).Take(10).Sum();
         

你最好帖一下你想要的结果 或SQL语句
[解决办法]
同一时间会对应多个题目,也就是某个时间做的一套试题(试题中有多个题目,但多个题目对应的时间是相同的,因为是同一套题)
现在先要的结果是:取得最近10次所做试题的总分的一个集合
不知道这样描述是否清楚

热点排行