zoukankan      html  css  js  c++  java
  • linq学习笔记(5):Count/Sum/Min/Max/Avg

         Count/Sum/Min/Max/Avg用于统计数据,比如统计一些数据的个数,求和,最小值,最大值,平均数。

         1.Count:返回集合中的元素个数,返回INT类型;不延迟。生成SQL语句为:SELECT COUNT(*) FROM

    描述:获得数据库中顾客的数量

    语句:

                var q =
                    ndc.Customers.Count();

    对应SQL语句:

    SELECT COUNT(*AS [value]
    FROM [dbo].[Customers] AS [t0]

    描述:带条件的查询,获取数据库中为停产的产品

    语句:

    var q = db.Products.Count(p => !p.Discontinued);

    对应SQL语句:

    SELECT COUNT(*AS [value]
    FROM [dbo].[Products] AS [t0]
    WHERE NOT ([t0].[Discontinued] = 1)

         2.LongCount

         说明:返回集合中的元素个数,返回LONG类型;不延迟。对于元素个数较多的集合可视情况可以选用LongCount来统计元素个数,它返回long类型,比较精确。生成SQL语句为:SELECT COUNT_BIG(*) FROM

    描述:获得数据库中顾客的数量

    语句:

                var q =
                    ndc.Customers.LongCount();

    对应SQL语句:

    SELECT COUNT_BIG(*AS [value]
    FROM [dbo].[Customers] AS [t0]

         3.Sum

    说明:返回集合中数值类型元素之和,集合应为INT类型集合;不延迟。生成SQL语句为:SELECT SUM(…) FROM

    1).简单形式

    描述:获取所有订单的总运费

    语句:

    var q = db.Orders.Select(o => o.Freight).Sum();

    对应SQL:

    SELECT SUM([t0].[Freight]AS [value]
    FROM [dbo].[Orders] AS [t0]

    2).映射模式

    描述:获取产品UnitsOnOrder的数量

    语句:

    var q = db.Products.Sum(p => p.UnitsOnOrder);

    对应SQL语句:

    SELECT SUM(CONVERT(Int,[t0].[UnitsOnOrder])) AS [value]
    FROM [dbo].[Products] AS [t0]

         4.Min

    说明:返回集合中元素的最小值;不延迟。生成SQL语句为:SELECT MIN(…) FROM

    1).简单形式

    描述:找到产品的最低价格

    语句:

    var q = db.Products.Select(p => p.UnitPrice).Min();

    对应SQL语句:

    SELECT MIN([t0].[UnitPrice]AS [value]
    FROM [dbo].[Products] AS [t0]

    2).映射形式

    描述:从订单中查找最低运费

    语句:

    var q = db.Orders.Min(o => o.Freight);

    对应SQL:

    SELECT MIN([t0].[Freight]AS [value]
    FROM [dbo].[Orders] AS [t0]

         5.Max

    说明:返回集合中元素的最大值;不延迟。生成SQL语句为:SELECT MAX(…) FROM

    1).简单形式

    描述:使用Max找到最新雇佣的雇员入职日期

    语句:

    var q = db.Employees.Select(e => e.HireDate).Max();

    对应SQL:

    SELECT MAX([t0].[HireDate]AS [value]
    FROM [dbo].[Employees] AS [t0]

    2).映射形式

    描述:用Max查找产品中最大的UnitsInStock

    语句:

    var q = db.Products.Max(p => p.UnitsInStock);

    对应SQL语句:

    SELECT MAX([t0].[UnitsInStock]AS [value]
    FROM [dbo].[Products] AS [t0]

         6.Average

    说明:返回集合中的数值类型元素的平均值。集合应为数字类型集合,其返回值类型为double;不延迟。生成SQL语句为:SELECT AVG(…) FROM

    1).简单形式

    描述:获取订单的平均运费

    语句:

    var q = db.Orders.Select(o => o.Freight).Average();

    对应SQL:

    SELECT AVG([t0].[Freight]AS [value]
    FROM [dbo].[Orders] AS [t0]

    2).映射形式

    描述:获取产品的平均价格

    语句:

    var q = db.Products.Average(p => p.UnitPrice);

    对应SQL:

    SELECT AVG([t0].[UnitPrice]AS [value]
    FROM [dbo].[Products] AS [t0]
  • 相关阅读:
    10分钟学会SpringBoot入门
    单链表常见的4道笔试题(Java版)
    Java面试、跳槽必刷200+真面试题,让你披荆斩棘走进大厂
    金三银四JAVA面试总结:Java+并发+Spring+MySQL+分布式+Redis+算法+JVM等
    最新整理的spring面试题从基础到高级,干货满满
    面试阿里百分百问的Jvm,别问有没有必要学,真的很有必要朋友
    面试官:你们前后端分离的接口规范是什么?
    “金九银十”已过,总结我的天猫、蚂蚁、头条面试经历(Java岗)
    350道面试题分享,拿下京东offer工资double
    2019大厂Java岗面试题全曝光,刷完这1020道,金三银四大厂等你
  • 原文地址:https://www.cnblogs.com/peida/p/1263384.html
Copyright © 2011-2022 走看看