C# ling to sql 取多条记录最大时间

具体代码如下所述:

var _setList = (from f in _postgreDbContext.settlements
                           group f by ( new { f.settlement_code })into g
                 select new
                 {
                   deal_time = g.Max(m => m.deal_time),
                   g.Key.settlement_code
                 }).AsNoTracking().ToList();

知识点扩展:sql 查询相同记录下日期最大的 一条

日期 编号 仓库 数量

2012-05-31 C001 A店 136.00
2012-05-29 C001 A店 139.00
2012-05-29 C001 B店 5.00
2012-05-30 C001 B店 6.00

我只显示最大日期的记录,这个SQL怎么写呀?


日期 编号 仓库 数量

2012-05-31 C001 A店 136.00
2012-05-30 C001 B店 6.00

SQL code

select * from tb t where not exists ( select 1 from tb where 编号 = t.编号 and 仓库 = t.仓库 and 日期 > t.日期)

方法2:

create table cangku ( F_RQ datetime, F_BH VARCHAR(20), F_SL FLOAT )

INSERT INTO cangku VALUES('2012-05-31','C001',343) INSERT INTO cangku VALUES('2012-05-30','C001',34) INSERT INTO cangku VALUES('2012-05-30','C002',33) INSERT INTO cangku VALUES('2012-05-26','C002',23)

SELECT * FROM cangku T,(SELECT F_BH,MAX(F_RQ) rq FROM cangku GROUP BY F_BH) t2 where t.F_BH=t2.F_BH and t.F_RQ>=t2.rq 

方法3:更好理解:

select * from table a where a.date in (select max(b.date) from table b where b.id=a.id)

总结

以上所述是小编给大家介绍的C# ling to sql 取多条记录最大时间,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • C# SQLite数据库入门使用说明

    前言 我们在开发应用是经常会需要用到一些数据的存储,存储的方式有多种,使用数据库是一种比较受大家欢迎的方式.但是对于一些小型的应用,如一些移动APP,通常的数据库过于庞大,而轻便的SQLite则能解决这一问题.不但操作方便,而且只需要要一个文件即可,在这里我们来说一说使用C#语言操作SQLite数据库. 一.NuGet引入SQLite库 在VS菜单:工具→NuGet包管理器→管理解决方案的NuGet程序包 打开NuGet解决方案窗口. 搜索 sqlite,选择官方的库安装到指定的项目中.: 提示

  • C#实现的封装CURD到SqlHelper类用法简单分析

    本文实例讲述了C#实现的封装CURD到SqlHelper类.分享给大家供大家参考,具体如下: 1.简单说明一下,一般情况下,数据库连接字符串是在App.config文件中进行配置,然后再在代码中进行引用.因此,我们在这里先看一下App.config文件. 首先看需要添加的内容: 参数说明: name:表示键值,在代码中需要通过这键值来找到对应的连接字符串信息. connectionString:链接数据库的字符串信息.Server:数据库服务器,Database:数据库,uid:数据库账户名,p

  • C# 操作PostgreSQL 数据库的示例代码

    什么是PostgreSQL? PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS). 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们. PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发. 它不受任何公司或其他私人实体控制. 它是开源的,其源代码是免费提供的. PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft

  • C#实现MySQL命令行备份和恢复

    MySQL数据库的备份有很多工具可以使用,这两天写了一个使用C#调用MYSQL的mysqldump命令完成MySQL数据库的备份与恢复的小工具 先来说一下mysqldump命令备份MySQL数据库的使用方法 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 直接将MySQL数据库压缩备份 mysqldump -hhostname -uusername -ppassword databasename |

  • C# SQLite执行效率的优化教程

    关于SQLite SQLite是一款轻型的嵌入式的遵守ACID的关系型数据库管理系统,诞生已有15个年头了.随着移动互联的发展,现在得到了更广泛的使用. 在使用SQLite之前,我们势必要先了解它一些"个性"的地方.下面是它的一些特点: 1. 自包含.SQLite很大层度上是独立的,他只需要非常小的外部库支持.任何程序能够访问磁盘就可以使用SQLite数据库.这使它适用于嵌入式设备,缺乏桌面计算机支持的基础设施.这也使得SQLite适用于不作任何修改就可运行在不同配置电脑上的程序. 2

  • C# ling to sql 取多条记录最大时间

    具体代码如下所述: var _setList = (from f in _postgreDbContext.settlements group f by ( new { f.settlement_code })into g select new { deal_time = g.Max(m => m.deal_time), g.Key.settlement_code }).AsNoTracking().ToList(); 知识点扩展:sql 查询相同记录下日期最大的 一条 日期 编号 仓库 数量

  • asp下sql和access数据库随机取10条记录的代码newid()

    MSSQL:select top 10 * from [table] order by newid() ACCESS: 复制代码 代码如下: '以利用rs.move嘛   '如随机取10条   n = 10   '先要判断总记录数是否少于10,若小于10,则有多少取多少 if n>10 rs.recordCount then n=rs.recordCount   dim ranNum   for i = 1 to n   Randomize()   ranNum = int(rs.recordC

  • SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)

    Sqlserver 获取每组中的第一条记录 在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组中的一条数据.下面我们要实现的就是在sqlserver中实现从每组中取出第一条数据. 例子 我们要从上面获得的有效数据为: 对应的sql语句如下所示: select * from t1 t where id = (select top 1 id from t1 where grp = t.grp o

  • MongoDB聚合分组取第一条记录的案例与实现方法

    前言 今天开发同学向我们提了一个紧急的需求,从集合mt_resources_access_log中,根据字段refererDomain分组,取分组中最近一笔插入的数据,然后将这些符合条件的数据导入到集合mt_resources_access_log_new中. 接到这个需求,还是有些心虚的,原因有二,一是,业务需要,时间紧:二是,实现这个功能MongoDB聚合感觉有些复杂,聚合要走好多步. 数据记录格式如下: 记录1 { "_id" : ObjectId("5c1e23eaa

  • 关于MYSQL中每个用户取1条记录的三种写法(group by xxx)

    今天以前的同学问我关于这方面的SQL语句,我特意记忆一下,毕竟这个也比较常见了 复制代码 代码如下: select * from (select * from member_payment                 order by id desc) t group by member_id limit 10 第一种是先排序,然后group,这样的话自然可以取到最适合的一条数据.缺点很明显:Using temporary; Using filesort 复制代码 代码如下: select

  • SQL中遇到多条相同内容只取一条的最简单实现方法

    SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别, 这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项. 如下:表timeand 针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种 1.select time,max(total) as total,name from timeand group by time;//取记录中total最大的值 或 select time,min(

  • Mysql查询最近一条记录的sql语句(优化篇)

    下策--查询出结果后将时间排序后取第一条 select * from a where create_time<="2017-03-29 19:30:36" order by create_time desc limit 1 这样做虽然可以取出当前时间最近的一条记录,但是一次查询需要将表遍历一遍,对于百万以上数据查询将比较费时:limit是先取出全部结果,然后取第一条,相当于查询中占用了不必要的时间和空间:还有如果需要批量取出最近一条记录,比方说:"一个订单表,有用户,订

  • SQL Server使用一个语句块批量插入多条记录的三种方法

    我们在日常操作中,免不了对数据库的某张表,一次性的要插入多条记录,但是首先想到的就是复制,粘帖N多重复的INSERT INTO 语句,万一某一个少了一个分号,或多个逗号之类的,产生错误,要找起来可就费尽了,既浪费时间,又耽误工作. 除了上面所说的方法外,其实还有二中方法,相比较起来要比之前那个要简洁. 首先是之前那个方法:    复制代码 代码如下: INSERT INTO MyTable(ID,NAME) VALUES(1,'123'); INSERT INTO MyTable(ID,NAME

  • mysql使用GROUP BY分组实现取前N条记录的方法

    本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法.分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 复制代码 代码如下: SELECT a.id,a.SName,a.ClsNo,a.Score FROM aa a LEFT J

  • SQL语句分组获取记录的第一条数据的方法

    使用Northwind 数据库 首先查询Employees表 查询结果: city列里面只有5个城市 使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 先进行分组 注:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). sql语句为: select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUM

随机推荐