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 * ...
随机推荐
- Objective-c初始化和便利构造
1.创建一个Student这个类 2.声明和实现 1).在Studnet.h文件中对属性和方法的声明 其中这个方法是带参初始化 而这个方法是便利构造.注意与上边的区别 2.在Studnet.m中实现 ...
- 解压华为P6 UPDATE.APP
#!/usr/bin/env python # Version: 0.2.201308040830 # Author: linkscue # Function: unpack any hauwei h ...
- 广州Uber优步司机奖励政策(1月25日~1月31日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- nginx安装lua-nginx-module模块
转载注明地址:http://www.cnblogs.com/dongxiao-yang/p/5312285.html 本文主要采用手动源码安装的方式将lua-nginx模块编译到nginx源码内部 一 ...
- 新站上线啦,Html5Think,H5优秀资源的收集、学习、分享和交流
最近闲来做了个H5资源站,刚刚有点资源,可以访问交流下. 栏目: H5网站模板 H5动画特效 H5资源工具 H5学习资料 致力于H5的学习,通过各个H5优秀案例的学习,逐步完善自己的H5体系,有朝一日 ...
- TortoiseSVN搭建本地版本库及简单操作使用
TortoiseSVN是windows上一款著名的版本控制软件,对于我们管理自己的代码,特别是对一个团队来说,非常重要. 本文探讨的是如何搭建本地的版本库. (1)安装TortoiseSVN之后需要创 ...
- Python基础知识---字典
现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典: key --> valu ...
- cocos2d&cocos2dx学习资源
汇总一下自己学习Cocos2d和cocos2dx认为比較好的一些资源: 书籍: <iPhone&iPad cocos2d游戏开发实战> Steffen Itterheim < ...
- [React + Mobx] Mobx and React intro: syncing the UI with the app state using observable and observer
Applications are driven by state. Many things, like the user interface, should always be consistent ...
- 数缘社区上对libtom的介绍,贴过来先
http://blog.csdn.net/songlingrebecca/article/details/5879154 基于Bit位运算的C语言库分析及其应用 1 LibTomproject的简要介 ...