1. Public Class LinqToList
  2. 'LINQ在C#中使用比较方便,但是在VB中使用比较麻烦,复杂,和C#用法并不太一样
  3. Dim listNew As List(Of Product) = New List(Of Product) '新商品
  4. Dim listOld As List(Of Product) = New List(Of Product) '旧商品
  5.  
  6. '****** listNew 加载数据 此处省略******
  7. '****** 给 listOld 加载数据 此处省略******
  8.  
  9. '查询 listNew 中的最高价 price1,并按 pricenameunitmodelnode分组
  10. Dim temp = From Item In listNew
  11. Group Item By Key = New With {Key Item.Name, Key Item.Unit, Key Item.Model}
  12. Into g = Group Select New With {.price1 = (Aggregate p In g Into Average(p.Price)),
  13. .price = (From p In g Select p.Price),
  14. .name = Key.Name,
  15. .unit = Key.Unit,
  16. .model = Key.Model,
  17. .note = (From p In g Select p.Note)} 'note并未在分组中,无法再key中获取
  18.  
  19. '合并listNew listOld ,并按 pricenameunitmodelnode分组,求出合并后的最高价price1,相同产品的个数.count
  20. Dim tempMax = From Item In
  21. ((From Contact In listNew).Union(From Shipment In listOld))
  22. Group Item By Key = New With {Key Item.Name, Key Item.Unit, Key Item.Model}
  23. Into g = Group Select New With {.price1 = (Aggregate p In g Into Max(p.Price)),
  24. .price = (From p In g Select p.Price),
  25. .name = Key.Name,
  26. .unit = Key.Unit,
  27. .model = Key.Model,
  28. .note = (From p In g Select p.Note),
  29. .count = g.Count()}
  30.  
  31. '最低价 .price1 = (Aggregate p In g Into Max(p.Price)) 改成 .price1 = (Aggregate p In g Into Min(p.Price))
  32. '平均价 .price1 = (Aggregate p In g Into Max(p.Price)) 改成 .price1 = (Aggregate p In g Into Average(p.Price))
  33. End Class
  34.  
  35. Public Class Product
  36. Private mPrice As Double '价格
  37. Private mName As String '名称
  38. Private mUnit As String '单位
  39. Private mModel As String '规格
  40. Private mNote As String '备注
  41. Public Property Price() As Double '价格
  42. Get
  43. Return mPrice
  44. End Get
  45. Set(ByVal value As Double)
  46. mPrice = value
  47. End Set
  48. End Property
  49.  
  50. Public Property Name() As String '名称
  51. Get
  52. Return mName
  53. End Get
  54. Set(ByVal value As String)
  55. mName = value
  56. End Set
  57. End Property
  58.  
  59. Public Property Unit() As String '单位
  60. Get
  61. Return mUnit
  62. End Get
  63. Set(ByVal value As String)
  64. mUnit = value
  65. End Set
  66. End Property
  67.  
  68. Public Property Model() As String '规格
  69. Get
  70. Return mModel
  71. End Get
  72. Set(ByVal value As String)
  73. mModel = value
  74. End Set
  75. End Property
  76.  
  77. Public Property Note() As String '备注
  78. Get
  79. Return mNote
  80. End Get
  81. Set(ByVal value As String)
  82. mNote = value
  83. End Set
  84. End Property
  85. End Class

VB.NET中LINQ TO List泛型查询语句(分组,聚合函数)的更多相关文章

  1. 在Delphi中动态地使用SQL查询语句 Adoquery sql 参数 冒号

    在Delphi中动态地使用SQL查询语句 在一般的数据库管理系统中,通常都需要应用SQL查询语句来提高程序的动态特性.下面介绍如何在Delphi中实现这种功能.在Delphi中,使用SQL查询语句的途 ...

  2. sql中having、group by用法及常用聚合函数

    having是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后就要用到HAVING 的用法了,就是进行判断了. 注意:sele ...

  3. ef实现一次查询多个聚合函数的字段

    想用ef来写一个统计字段的语句,如下所示 select sum(price) as price_total, sum(amount) as amount_total from table1 发现似乎实 ...

  4. PHP中对mysql预编译查询语句的一个封装

    原文地址:http://chen-shan.net/?p=474 为了防止sql注入,我们都使用过mysqli这个类,但是每次都需要绑定参数,绑定结果等,比较麻烦,所以可以把这些重复的语句封装成一个函 ...

  5. Django模型层之字段查询参数及聚合函数

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 字段查询是指如何指定SQL WHERE子句的 ...

  6. python-day71--django多表双下划线查询及分组聚合及F/Q查询

    #====================================双下划线的跨表查询===============# 前提 此时 related_name=bookList 属性查询: # 查 ...

  7. django字段查询参数及聚合函数

    字段查询是指如何指定SQL WHERE子句的内容.它们用作QuerySet的filter(), exclude()和get()方法的关键字参数. 默认查找类型为exact. 下表列出了所有的字段查询参 ...

  8. T-SQL - query03_去重查询|模糊查询|排序|分组|使用函数

    时间:2017-09-29 整理:byzqy 本篇仍以"梁山好汉"数据表为例,介绍几个常用的 T-SQL 查询语句: 去重查询,关键字:distinct 使用通配符模糊查询,关键字 ...

  9. DQL排序查询和DQL聚合函数

    DQL:查询语句 排序查询 语法: order by 字句 order by 排序字段1 排序方式1,排序字段2 排序方式2... 排序方式: ASC:升序,默认的 DESC:降序 SELECT * ...

随机推荐

  1. Objective-c初始化和便利构造

    1.创建一个Student这个类 2.声明和实现 1).在Studnet.h文件中对属性和方法的声明 其中这个方法是带参初始化 而这个方法是便利构造.注意与上边的区别 2.在Studnet.m中实现 ...

  2. 解压华为P6 UPDATE.APP

    #!/usr/bin/env python # Version: 0.2.201308040830 # Author: linkscue # Function: unpack any hauwei h ...

  3. 广州Uber优步司机奖励政策(1月25日~1月31日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. nginx安装lua-nginx-module模块

    转载注明地址:http://www.cnblogs.com/dongxiao-yang/p/5312285.html 本文主要采用手动源码安装的方式将lua-nginx模块编译到nginx源码内部 一 ...

  5. 新站上线啦,Html5Think,H5优秀资源的收集、学习、分享和交流

    最近闲来做了个H5资源站,刚刚有点资源,可以访问交流下. 栏目: H5网站模板 H5动画特效 H5资源工具 H5学习资料 致力于H5的学习,通过各个H5优秀案例的学习,逐步完善自己的H5体系,有朝一日 ...

  6. TortoiseSVN搭建本地版本库及简单操作使用

    TortoiseSVN是windows上一款著名的版本控制软件,对于我们管理自己的代码,特别是对一个团队来说,非常重要. 本文探讨的是如何搭建本地的版本库. (1)安装TortoiseSVN之后需要创 ...

  7. Python基础知识---字典

    现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> valu ...

  8. cocos2d&cocos2dx学习资源

    汇总一下自己学习Cocos2d和cocos2dx认为比較好的一些资源: 书籍: <iPhone&iPad cocos2d游戏开发实战> Steffen Itterheim < ...

  9. [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 ...

  10. 数缘社区上对libtom的介绍,贴过来先

    http://blog.csdn.net/songlingrebecca/article/details/5879154 基于Bit位运算的C语言库分析及其应用 1 LibTomproject的简要介 ...