最近项目有一个需求,从订单表查询出每个客户最近一条订单记录。数据库表结构如下图

             SELECT * FROM (select ROW_NUMBER()over(partition by [custid] order by [orderdate] desc) AS newIndex,* from Sales.Orders) as T where T.newIndex=1 

执行结果,已经按照客户分组,并且按时间顺序生成序号。

对应LINQ代码为

var table = contex.GetTable<Orders>().ToList();var data = table.OrderByDescending(a => a.orderdate).GroupBy(a => a.custid).Select(g => new { g, count = g.Count() }).SelectMany(t => t.g.Select(b => b).Zip(Enumerable.Range(1, t.count), (j, i) => new { j.custid, j.shipname, rn = i }));

转载于:https://www.cnblogs.com/xxrl-c/p/4516814.html

LINQ SQL分组取最近一条记录相关推荐

  1. Oracle分组取前n条记录

    2019独角兽企业重金招聘Python工程师标准>>> create table cl_aa as select modi_staff_id,jm,count(*) numb fro ...

  2. mysql 分组排序取前n_mysql分组排序取前N条记录的最简洁的单条sql ! | 学步园

    -- mysql分组排序取前N条记录的最简洁的单条sql. use test; drop table if exists test; create table test ( id int primar ...

  3. [MySQL] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit

    前言:         同事的业务场景是,按照cid.author分组,再按照id倒叙,取出前2条记录出来.         oracle里面可以通过row_number() OVER (PARTIT ...

  4. 如何用SQL实现从第几条记录开始取几条

    如何用SQL实现从第几条记录开始取几条 ? select   top   10   *   from   (select   top   200   *   from   table   order ...

  5. Mysql 分组查询取max 那条记录其他字段

    需求描述: 现有有需求要按类型分组,查询出每一分组最近的一条记录,返回字段包含id,定时任务执行时间(start_time)和任务id(job_id). SELECT id, MAX(start_ti ...

  6. sql截去最后一位_sql 取最后一条记录

    展开全部 SQL Server 查询最后一条记录有两种方法,一种是使用TOP命令e68a8462616964757a686964616f31333433616165,一种是使用LIMIT命令,具体方法 ...

  7. oracle 取前10条记录

    1.oracle 取前10条记录 1) select * from tbname where rownum < 11; 2) select * from (select * from tbnam ...

  8. mysql取中间的10个数据_数据库取中间几条记录

    学习了几种数据库取中间几条记录的方法,总结下: 一.在MSSQL,ACCESS中,可以使用关键字top: --从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本) SELECT ...

  9. 分区函数Partition By的与row_number()的用法以及与排序rank()的用法详解(获取分组(分区)中前几条记录)...

    partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指 ...

最新文章

  1. 将扫描字符转换成点阵信息
  2. (转) Android生成签名文件并用其对apk文件进行签名
  3. Windows Mobile获取SIM卡上的所有电话号码
  4. python中csv文件的读写
  5. extern 全局变量在不同的文件使用方法(static)
  6. Kibana未授权访问漏洞记录(CVE-2019-7609,Kibana的RCE,原型链污染,端口:5601)
  7. django的单例模式和url分发
  8. Oracle控制文件操作
  9. 开放源代码_开放式代码本质的10种方式
  10. oracle打开dmp文件乱码,oracle中导入dmp字符乱码分析和解决方案
  11. C语言将字符串转换为数字
  12. Java编写MD5加密工具类,登录密码加密
  13. 计算机毕业论文中期论文质量,计算机 毕业论文(设计)中期报告(1页)-原创力文档...
  14. 云计算关键概念之一:云资源池
  15. js 修改meta标签 属性
  16. Cocos2d-x 3 x游戏开发之旅
  17. 微信公众号运营靠谱吗?怎么样判断公司需要代运营?
  18. win10给扩展屏设置单独的壁纸(win10自带这个功能)
  19. CCD摄像头相关知识
  20. 洛谷P2598 [ZJOI2009]狼和羊的故事 题解

热门文章

  1. 再学 GDI+[86]: TGPImage(6) - 拖动图像
  2. [导入]在vs2005中调用远程WebService(幻想曲)
  3. apply_async进程不执行_[粉丝问答6]子进程进程的父进程关系
  4. Spring源码学习笔记:经典设计模式之代理模式
  5. CCCC-GPLT L1-038. 新世界 团体程序设计天梯赛
  6. 【软件项目管理】滨江学院 李振宏 软件项目管理 试卷考点知识点整理
  7. linux重定向命令语法,linux重定向命令应用及语法
  8. 第7章 处理串行线路和帧中继连接故障
  9. java 多线程 一个博客
  10. Android平台程序崩溃的类型及原因列举