linq使用 count与sum等

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        #region 用Count()得出查询结果的个数
        Response.Write("<hr>用Count()得出查询结果的个数<br>");
        var langCount = (from s in GetStudents()
                           select s.Language)
                           .Distinct()
                           .Count();
        Response.Write(string.Format("<div class=‘result‘>{0}</div>", langCount));
        #endregion

        #region 用Count()的Lambda表达式满足条件的元素个数
        Response.Write("<hr>用Count()得出查询结果的个数<br>");
        var ageCoun = (from s in GetStudents()
                          select s.Age)
                          .Count(a=>a>22);
        Response.Write(string.Format("<div class=‘result‘>{0}</div>", ageCoun));
        #endregion

        #region 用Sum()将查询结果相加
        Response.Write("<hr>用Sum()将查询结果相加<br>");
        var ageSum = (from s in GetStudents()
                      select s.Age)
                       .Sum();
        //var ageSum = GetStudents().Sum(s=>s.Age);
        Response.Write(string.Format("<div class=‘result‘>{0}</div>", ageSum));
        #endregion

        #region 用Min()得出查询结果的最小值
        Response.Write("<hr>用Min()得出查询结果的最小值<br>");
        var ageMin = (from s in GetStudents()
                      select s.Age)
                       .Min();
        //var ageMin = GetStudents().Min(s => s.Age);
        Response.Write(string.Format("<div class=‘result‘>{0}</div>", ageMin));
        #endregion

        #region 用Max()得出查询结果的最大值
        Response.Write("<hr>用Max()得出查询结果的最大值<br>");
        var ageMax = (from s in GetStudents()
                      select s.Age)
                       .Max();
        //var ageMax = GetStudents().Max(s => s.Age);
        Response.Write(string.Format("<div class=‘result‘>{0}</div>", ageMax));
        #endregion

        #region 用Average()得出查询结果的平均值
        Response.Write("<hr>用Average()得出查询结果的平均值<br>");
        var ageAverage = (from s in GetStudents()
                      select s.Age)
                      .Average();
        //var ageAverage = GetStudents().Average(s => s.Age);
        Response.Write(string.Format("<div class=‘result‘>{0}</div>", ageAverage));
        #endregion
    }

    #region 构造一个学生集合体
    private List<Student> GetStudents()
    {
        List<Student> students = new List<Student> {
             new Student{ Name="YOUNG", Age=25, Language="Chinese"},
             new Student{ Name="JESSIE", Age=21, Language="Scotland"},
             new Student{ Name="KELLY", Age=18, Language="English"},
             new Student{ Name="JUNE", Age=20, Language="English"},
             new Student{ Name="ADRIAN", Age=22, Language="Italy"},
             new Student{ Name="BRUCE", Age=17, Language="Scotland"},
             new Student{ Name="BRANT", Age=30, Language="Germany"},
             new Student{ Name="BEN", Age=25, Language="Chinese"}
        };
        return students;
    }
    #endregion
}

#region 学生类
class Student
{
    public int Age { get; set; }
    public string Name { get; set; }
    public string Language { get; set; }
}
#endregion
时间: 2024-11-02 18:53:34

linq使用 count与sum等的相关文章

用count(*)还是count(列名) || Mysql中的count()与sum()区别

Mysql中的count()与sum()区别 首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` varchar(20) default NULL, `score` tinyint(4) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 插入一些数据, insert into result values ('张三','数学',90), ('张三

SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用

小媛在努力 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 在多媒体数据处理中,数据压缩算法尤为重要.小媛上完课后就想自己发明一个数据压缩算法.她想呀想,终于想到一个方法.在多媒体数据中有很多数据都是重复的,所以她想把连续相同的数据用数据出现的次数和数据本身表示.例如:1 1 1 2 3 3 3 3 3  压缩后及为3 1 1 2 5 3(表示3个1,1个2和5个3).有想法后小媛就希望把它用代码实现了.但是大家都知道小媛现在整天都忙着苦B的复习考研,连电脑都摸不到

count()与sum()

介绍Mysql中的count()与sum()区别 CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` varchar(20) default NULL, `score` tinyint(4) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 insert into result values ('张三','数学',90), ('张三','语文',50), ('张三'

Linq之Count

1 var count = (from e in list select e).Count();

使用Linq求和方法Sum计算集合中多个元素和时应该注意的性能问题

提出问题 本文使用下面的实例来说明问题,以下是实例的完整代码. //************************************************************ // // Sum应用示例代码 // // Author:三五月儿 // // Date:2014/09/10 // // http://blog.csdn.net/yl2isoft // //**********************************************************

Linq中的group by多表多字段,Sum求和

var data = (from a in Items group a by new { a.GroupId, a.Id } into b orderby new ComparerItem() { GroupId = b.Key.GroupId, Id = b.Key.Id } descending select new { GroupId = b.Key.GroupId, Id = b.Key.Id, Count = b.Sum(c => c.Count), Weight = b.Sum(c

hive对有null值的列进行avg,sum,count等操作时会不会过滤null值

在hive中,我们经常会遇到对某列进行count.sum.avg等操作计算记录数.求和.求平均值等,但这列经常会出现有null值的情况,那这些操作会不会过滤掉null能呢? 下面我们简单测试下: with tmp as(select null as col1 union allselect 666 as col1 union allselect 999 as col1)select avg(col1) avg_numm, sum(col1) sum_num, count(1) cnt, coun

LinQ to SQL 查询

LINQ to SQL 是将对象关系映射到.NET框架中的一种实现.它可以将关系数据库映射为.NET Framework中的一些类. 然后,开发人员就可以通过使用 LINQ to SQL对数据库中的数据进行查询.修改.插入.删除等操作. LINQ to SQL类映射到SQL Server数据库中的表,这些类被称做“实体类”,实体类中的属性或字段映射到SQL server 数据库中表的列,实体类之间的关联映射到 SQL Server数据库中的外键关系,LINQ to SQL类中的方法映射为SQL

从LINQ开始之LINQ to Objects(上)

LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. LINQ体系结构 从上图可以看出,LINQ总共包括五个部分:LINQ to Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML.LINQ to Objects:对内存中集合的操作LINQ to DataSets:对数据集Datatable的操作LINQ to