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

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

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’的最新的一条检查记录。


分享到:
评论

相关推荐

    oracel重复记录只保留一条

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

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

    在SQL查询中,有时我们需要处理重复的数据,特别是当表中存在多条内容几乎相同但有细微差异的记录时。这种情况通常发生在数据导入错误或者业务逻辑导致的冗余数据上。本文将详细介绍如何在SQL中以最简单的方式选取...

    MySQL 多表关联一对多查询实现取最新一条数据的方法示例

    总之,MySQL多表关联查询实现取最新一条数据的关键在于正确地使用子查询和聚合函数,以及理解如何根据业务需求进行适当的关联和过滤。通过合理的设计和优化,我们可以有效地处理一对多关系中的数据获取问题,提高...

    获取上一条下一条记录11

    在IT行业中,数据库操作是应用程序开发中的重要环节,特别是在处理数据列表时,用户常常需要查看当前记录的上一条或下一条信息。这个场景在很多应用中都很常见,比如博客、论坛或者日志系统等。标题和描述提到的...

    利用sql语句复制一条或多条记录

    本文将详细讲解如何使用SQL语句来复制一条或多条记录,并提供具体的示例。 首先,假设我们有一个名为`article`的表,包含以下字段:`id`(可能是自动编号)、`class`、`title`和`content`。我们要从`class='1'`的...

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

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

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

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

    MySQL 查询重复内容只显示一条

    3. **只显示一条重复内容**:若要保留重复数据中的某一条,可以选择其中的一个特定记录,比如按ID排序后的第一条或者最后一条。以下是一种方法,保留`id`最小的重复记录: ```sql SELECT t1.* FROM ( SELECT ...

    Oracle多行记录合并

    在Oracle数据库中,多行记录的合并通常是为了将相同字段的多行数据整合成一行,以便于数据分析或者简化展示。这种操作在报表制作、数据整理等场景中非常常见。本篇文章将详细介绍Oracle中实现多行记录合并的几种方法...

    执行一条sql语句update多条记录实现思路

    在SQL语言中,更新多条记录的字段值且每行记录的字段值各不相同时,通常有两种常用的方法。一种是使用CASE语句结合IF-THEN逻辑,另一种是利用INSERT语句的DUPLICATE KEY UPDATE特性。这两种方法都可以避免循环执行多...

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

    在本例中,我们将探讨如何在C#中使用LINQ to SQL查询相同记录下日期最大的一条。 首先,我们需要了解LINQ(Language Integrated Query,语言集成查询)是.NET框架提供的一种用于处理对象集合的编程方式,它允许...

    sqlserver中重复数据值只取一条的sql语句

    当数据库表中的某些列有重复的值时,我们可能需要仅选取其中的一条记录,例如,选择每组重复数据的第一条或者最后一条。题目中提到的SQL语句就是解决这类问题的一个示例。 首先,我们创建一个名为`TestData`的数据...

    删除表中重复记录

    在SQL中,删除表中的重复记录是一个常见的需求,特别是在数据导入或者数据整合过程中。这个问题可以从两个方面来解决:有主键的情况和无主键的情况。下面将详细解释这两种情况下的处理方法。 一、具有主键的情况 1...

    MySql实现分组取n条最大记录.txt

    本篇文章详细介绍了如何使用MySQL实现分组取n条最大记录的功能。通过精心设计的SQL查询语句,我们可以有效地解决这类问题。这种方法不仅适用于上述具体场景,还可以扩展应用于其他类似的需求,例如按不同标准分组并...

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

    然后遍历DataTable,针对每一行数据,再次查询数据库以获取与之相关的多条记录,将这些记录内容合并后更新回原始数据行。这种方法虽然直观,但如果数据量较大,频繁地打开和关闭数据库连接会导致性能下降。 第二种...

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

    SQLServer 中将一个字段的多个记录值合并到一行显示的实现方法 SQL Server 是一种关系型数据库管理系统,具有强大的数据处理能力和存储能力。在实际应用中,我们经常需要将一个字段的多个记录值合并到一行显示,以...

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

    以下是两种查询数据库中某一字段下相同值的记录的方法。 **方法一:通过学号和身份证字段来查询** 这种方法推荐用于数据库执行效率高的场景。它利用了子查询和自连接的概念,通过比较同一表中不同行的学号(Sno)...

    mysql合并多条记录的单个字段去一条记录编辑

    在MySQL中,有时候我们需要将一个表中多条记录的单个字段值合并成一条记录,以便于数据分析或者简化展示。这种需求通常出现在我们想要聚合某些特定字段的数据时。本篇文章将详细讲解两种方法来实现这一目标,以示例...

Global site tag (gtag.js) - Google Analytics