【原创】LINQ to SQL学习笔记(三)——聚集函数(一)
本篇将介绍五个聚集函数的使用,分别是Count、Sum、Min、Max、Avg,这些函数的使用和我们在SQL命令中的使用场景是一样的,都是用于统计数据,求个数,求和,求最小值,求最大值,求平均数。
1、Count函数
Count函数的作用是获得集合中元素的个数,返回值类型是int类型,转换成SQL语句如下
SELECT COUNT(*) FROM TABLENAME
Count函数的使用方式也包括两种,分别是无参形式和有参形式。
(1)无参形式
使用无参形式我们可以获得集合中所有对象的数量,例如:
int count = db.Students.Count();
上面语句将获得所有学生的总数。
(2)有参形式
有参形式相当于根据参数条件做了一个额外的筛选,然后返回筛选之后的结果集合的对象数量。例如:
int count = db.Students.Count(stu=>stu.Age>20);
上面语句将获得所有年龄大于20的学生的总数。
补充:
除了使用Count函数可以获得集合中的元素个数外,我们还可以使用LongCount函数,它与Count的不同在于,它的返回值类型是long类型,用于集合中元素个数相对较多的情况下。
2、Sum函数
Sum函数的作用是获得集合中数值类型的元素的总和,对应的SQL语句如下
SELECT SUM(COLNAME,...) FROM TABLENAME
Sum函数的使用方式也包括两种,分别是无参形式和有参形式。
(1)无参形式
使用无参形式必须先确定出要进行求和计算的列,然后调用Sum函数。例如:
var sum = db.Students.Select(stu=>stu.Age).Sum();
上面语句将获取所有学生的年龄总和(本例在实际应用中没有实际意义)。
(2)有参形式
使用有参形式就可以在参数中确定要进行求和的列。例如:
var sum = db.Students.Sum(stu=>stu.Age);
上面语句上面语句同样能获取所有学生的年龄总和
3、Min函数
Min函数的作用就是获得集合中元素的最小值,类似于SQL语句:
SELECT MIN(COLNAME...) FROM TABLENAME
Min函数的使用方式也包括两种,分别是无参形式和有参形式。
(1)无参形式
使用无参形式必须先确定出要进行求最小值的列,然后调用Min函数。例如:
var min = db.Students.Select(stu=>stu.Age).Min();
上面语句将获取所有学生中最小的年龄。
(2)有参形式
使用有参形式就可以在参数中确定要进行求最小值的列。例如:
var min = db.Students.Min(stu=>stu.Age);
上面语句上面语句同样能获取所有学生中最小的年龄。
4、Max函数
Max函数的作用就是获得集合中元素的最大值,类似于SQL语句:
SELECT MAX(COLNAME...) FROM TABLENAME
Max函数的使用方式也包括两种,分别是无参形式和有参形式。
(1)无参形式
使用无参形式必须先确定出要进行求最大值的列,然后调用Max函数。例如:
var max = db.Students.Select(stu=>stu.Age).Max();
上面语句将获取所有学生中最大的年龄。
(2)有参形式
使用有参形式就可以在参数中确定要进行求最大值的列。例如:
var max = db.Students.Max(stu=>stu.Age);
上面语句上面语句同样能获取所有学生中最大的年龄。
5、Avg函数
Avg函数的作用就是获得集合中元素的平均值,返回值类型是double,类似于SQL语句:
SELECT AVG(COLNAME...) FROM TABLENAME
Avg函数的使用方式也包括两种,分别是无参形式和有参形式。
(1)无参形式
使用无参形式必须先确定出要进行求平均值的列,然后调用Avg函数。例如:
var avg = db.Students.Select(stu=>stu.Age).Avg();
上面语句将获取所有学生的平均年龄。
(2)有参形式
使用有参形式就可以在参数中确定要进行求平均值的列。例如:
var avg = db.Students.Avg(stu=>stu.Age);
上面语句上面语句同样能获取所有学生的平均年龄。
总结,本篇主要介绍了5个聚集函数的使用,发现他们的使用形式基本一致,并且与SQL命令非常类似,且使用方便。