VB.NET中LINQ TO List泛型查询语句(分组,聚合函数)
Public Class LinqToList
'LINQ在C#中使用比较方便,但是在VB中使用比较麻烦,复杂,和C#用法并不太一样
Dim listNew As List(Of Product) = New List(Of Product) '新商品
Dim listOld As List(Of Product) = New List(Of Product) '旧商品 '****** 给 listNew 加载数据 此处省略******
'****** 给 listOld 加载数据 此处省略****** '查询 listNew 中的最高价 price1,并按 price,name,unit,model,node分组
Dim temp = From Item In listNew
Group Item By Key = New With {Key Item.Name, Key Item.Unit, Key Item.Model}
Into g = Group Select New With {.price1 = (Aggregate p In g Into Average(p.Price)),
.price = (From p In g Select p.Price),
.name = Key.Name,
.unit = Key.Unit,
.model = Key.Model,
.note = (From p In g Select p.Note)} 'note并未在分组中,无法再key中获取 '合并listNew 和listOld ,并按 price,name,unit,model,node分组,求出合并后的最高价price1,相同产品的个数.count
Dim tempMax = From Item In
((From Contact In listNew).Union(From Shipment In listOld))
Group Item By Key = New With {Key Item.Name, Key Item.Unit, Key Item.Model}
Into g = Group Select New With {.price1 = (Aggregate p In g Into Max(p.Price)),
.price = (From p In g Select p.Price),
.name = Key.Name,
.unit = Key.Unit,
.model = Key.Model,
.note = (From p In g Select p.Note),
.count = g.Count()} '最低价 .price1 = (Aggregate p In g Into Max(p.Price)) 改成 .price1 = (Aggregate p In g Into Min(p.Price))
'平均价 .price1 = (Aggregate p In g Into Max(p.Price)) 改成 .price1 = (Aggregate p In g Into Average(p.Price))
End Class Public Class Product
Private mPrice As Double '价格
Private mName As String '名称
Private mUnit As String '单位
Private mModel As String '规格
Private mNote As String '备注
Public Property Price() As Double '价格
Get
Return mPrice
End Get
Set(ByVal value As Double)
mPrice = value
End Set
End Property Public Property Name() As String '名称
Get
Return mName
End Get
Set(ByVal value As String)
mName = value
End Set
End Property Public Property Unit() As String '单位
Get
Return mUnit
End Get
Set(ByVal value As String)
mUnit = value
End Set
End Property Public Property Model() As String '规格
Get
Return mModel
End Get
Set(ByVal value As String)
mModel = value
End Set
End Property Public Property Note() As String '备注
Get
Return mNote
End Get
Set(ByVal value As String)
mNote = value
End Set
End Property
End Class
VB.NET中LINQ TO List泛型查询语句(分组,聚合函数)的更多相关文章
- 在Delphi中动态地使用SQL查询语句 Adoquery sql 参数 冒号
在Delphi中动态地使用SQL查询语句 在一般的数据库管理系统中,通常都需要应用SQL查询语句来提高程序的动态特性.下面介绍如何在Delphi中实现这种功能.在Delphi中,使用SQL查询语句的途 ...
- sql中having、group by用法及常用聚合函数
having是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后就要用到HAVING 的用法了,就是进行判断了. 注意:sele ...
- ef实现一次查询多个聚合函数的字段
想用ef来写一个统计字段的语句,如下所示 select sum(price) as price_total, sum(amount) as amount_total from table1 发现似乎实 ...
- PHP中对mysql预编译查询语句的一个封装
原文地址:http://chen-shan.net/?p=474 为了防止sql注入,我们都使用过mysqli这个类,但是每次都需要绑定参数,绑定结果等,比较麻烦,所以可以把这些重复的语句封装成一个函 ...
- Django模型层之字段查询参数及聚合函数
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 字段查询是指如何指定SQL WHERE子句的 ...
- python-day71--django多表双下划线查询及分组聚合及F/Q查询
#====================================双下划线的跨表查询===============# 前提 此时 related_name=bookList 属性查询: # 查 ...
- django字段查询参数及聚合函数
字段查询是指如何指定SQL WHERE子句的内容.它们用作QuerySet的filter(), exclude()和get()方法的关键字参数. 默认查找类型为exact. 下表列出了所有的字段查询参 ...
- T-SQL - query03_去重查询|模糊查询|排序|分组|使用函数
时间:2017-09-29 整理:byzqy 本篇仍以"梁山好汉"数据表为例,介绍几个常用的 T-SQL 查询语句: 去重查询,关键字:distinct 使用通配符模糊查询,关键字 ...
- DQL排序查询和DQL聚合函数
DQL:查询语句 排序查询 语法: order by 字句 order by 排序字段1 排序方式1,排序字段2 排序方式2... 排序方式: ASC:升序,默认的 DESC:降序 SELECT * ...
随机推荐
- Oracle LOB
Oracle LOB Oracle .NET Framework 数据提供程序包括 OracleLob 类,该类用于使用 Oracle LOB 数据类型. OracleLob 可能是下列 Oracle ...
- JavaScript XML 兼容处理,序列化和反序列化以及回调事件
浏览器中XML DOM的支持 IE中通过ActiveXObject实现了XML的支持,存在一下几个版本:Microsoft.XmlDom,MSXML2.DOMDocument,MSXML2.DOMDo ...
- Digital Root - SGU 118(高精度运算)
题目大意:有K组测试数据,然后每组有N个正整数,A1,A2,A3.....An,求出 A1 + A1*A2 + A1*A2*A3 + .......A1*A2*...An 的数根. 分析:有个对9取余 ...
- windows系统下搭建linux
1.先装虚拟机VMware Workstation(步骤参照度娘) 2.在虚拟机上装CentOS6.5Linux系统(步骤参照度娘) 3.安装SecureCRT终端仿真程序,用来登录Linux服务 ...
- 小试牛刀——python接口测试小框架
用例设计: 执行用例代码: # -*- coding: UTF-8 -*-import xlrd,logging,urllib,urllib2,json,sysfrom pylsy import py ...
- Cadence 信号完整性(一)-- 仿真步骤3
(2)单击“Identify DC Nets”,弹出“Identify DC Nets”窗口,如图2-6 所示: 图 2-6 Identify DC Nets 窗口 (3)在“Net”列表中选择网络如 ...
- Struts2配置文件讲解
解决在断网环境下,配置文件无提示的问题我们可以看到Struts.xml在断网的情况下,前面有一个叹号,这时,我们按alt+/ 没有提示,这是因为” http://struts.apache.org/d ...
- [RxJS] Filtering operator: single, race
Single, race both get only one emit value from the stream. Single(fn): const source = Rx.Observable. ...
- [MODx] Solve cannot upload large file
If you also run into this problem, dont' worry, here is the solution for you. First: In Modx, go &qu ...
- rsyslog 详解3
http://blog.clanzx.net/2013/12/31/rsyslog.html http://www.centosabc.com/archives/601 http://www.cnbl ...