`
april2017
  • 浏览: 8963 次
社区版块
存档分类
最新评论

多条相同记录,取最新的一条

sql 
阅读更多
在很多场景下,都需要记录历史记录,比如同一个病人的多条检查记录,如果这些记录在同一张表里,如何取出或者更新最新的一条记录呢?

可以利用sql中的分区函数 partition by 和 取行号函数 row_number()
具体思路:根据病人ID字段(需保证唯一性)进行分区,拿到所有病人按更新时间从近到远排序的一个大集合,然后在where条件里指明查的具体的ID号以及该ID号所有记录中的第几条,即为病人最新的记录。

eg.

select * from (select t.*, row_number() over (partition by patientID order by update_time desc) num from t_exam_info t) where num = 1 and patientID = '0001';

执行此条语句,则会返回病人ID为‘0001’的最新的一条检查记录。


分享到:
评论

相关推荐

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

    本文主要介绍SQL中遇到多条相同内容只取一条的最简单实现方法,比较实用,希望能给大家做一个参考。

    oracel重复记录只保留一条

    oracel重复记录只保留一条,提供sql语句与存储过程2种处理方式

    删除Access数据库中重复的记录

    在Access中一般只能查找10行大概20条重复记录,这样程序就可以任意指定表及多字段检索重复记录,并把重复的记录移除到一个临时表中,并不是进行真正删除,你可以进行恢复。但是执行第二次查找时则自动删除上次查找的...

    用SQL语句查询数据库中某一字段下相同值的记录方法

    今天接到一任务,有一张学生信息表(Excel表),里面有一万多条记录,现在要把这张表导入到数据库中,并设置学生学号为主键,但是现在这张表中的学生学号有重复的记录,我必须先找出这些重复的记录,然后再进行筛选,...

    chaosirgit#mymd#Laravel-分组获取最新记录1

    前言今天项目中需要根据分组查询最新记录的业务逻辑,想要使用 Eloquent 查询出来,做个记录。实现表内容原生 SQL 为:select * from (se

    SQLServer中如何将一个字段的多个记录值合在一行显示

    SQLServer中如何将一个字段的多个记录值合在一行显示

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

    主要介绍了C# ling to sql 取多条记录最大时间,文中通过实例代码给大家介绍了sql 查询相同记录下日期最大的 一条,代码简单易懂,需要的朋友可以参考下

    SQL 合并多行记录的相同字段值

    有时候会遇到这种情况,数据库查询返回多行记录,且每行记录由另外符合条件的多条记录内容合并,遇到这种情况,我们可以选择下面两种方式

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    sql 查出一张表中重复的所有记录数据 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、...

    javaMe信息存储

    记录管理系统通过记录管理器来实现信息存储,记录存储器类似数据库系统中的表,可包含多条记录,每条信息在RMS中表现为一条记录,一条记录可以包含一个数据,也可以包含多个数据,这些数据类型可以相同,也可以不同...

    mysql实现合并同一ID对应多条数据的方法

    主要介绍了mysql实现合并同一ID对应多条数据的方法,涉及mysql GROUP_CONCAT函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    mysql中多表删除其中ID相同记录的方法

    最近又有网友评论了我的这个回答,我才开始查了一下百度,发现Mysql4.0以上版本已经可以通过一条delete删除多个表的数据了。看来我确实在误人子弟了,只能说声抱歉,好在楼主没有选我的答案,要不然罪过大了。 最后...

    多文本剪切板记录器1.1中文绿色免费版

    用户可以方便的选择粘贴近期拷贝的多条文本,粘贴时只需要按快捷键ctrl shift v 然后在菜单中选择,文本会自动粘贴到正在工作的窗口中,对于经常拷贝粘贴相同文本的人员,是一款能够极大提高工作效率的软件。

    SQL Server将一列的多行内容拼接成一行的实现方法

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 ...

    Excel新增工具集

    7、按类别拆分一个工作表中的行记录(组)到新表:是指将一个工作表中的多条记录按按照某一列或某两列的类别关键(第一关键字和第二关键字)字拆分成若干个结构相同的工作表,它适合于档案数据记录的分类。...

    流小关于防震减灾课程设计

    像工资这样的关键码,可能多条记录有相同的关键码值,称为辅码(secondary key)。大多数检索可以使用辅码来完成。辅码索引把一个辅码值与具有这个辅码值的每一条记录的主码值关联起来。此时,可以直接检索整个...

    同步专家网络版3·53破解版

    如果同步的双方(两个数据集)都有同一条记录,但有一边的该记录修改过了,就要对比“修改时间”字段来判断究竟哪边是修改过的。如果某些表,记录不算多(数百或上千条记录都算是较少的),且只会往里面添加记录,不会...

    基于R语言实现的运输车辆安全驾驶行为分析源码+数据集+项目说明+超详细注释.zip

    首先,我们发现有些车辆的记录数据有重复,同一个时间的相同的记录连续出现两次,这些记录都被我们删除。然后,我们对每辆车的行车记录做行车阶段的划分。划分的标准为:若记录中相邻两次记录采集时间差大于一个小时...

    自动读取WORD表格到EXCEL

    如果你的Word文档中包含多个结构相同的表格,且每个表格都是一个完整的记录,你需要选中,如果你的Word文档中包含多个表格,他们分别包含一条记录的不同部分,那么请不要选中,工具会在导入的时候自动替换一些不可见...

Global site tag (gtag.js) - Google Analytics