查找相同记录的最大日期的行
来源:互联网 发布:淘宝上回收手机骗局 编辑:程序博客网 时间:2024/05/17 10:53
假设有这样一张门禁记录表,姓名,打卡地点,和日期,一个姓名可以有多个日期,那么,怎样查询一个姓名对应的最大日期的那一行记录呢?
以下介绍2种方法来实现。
首先创建测试表:
create table TableA
(
Names VARCHAR(20),GateNo INT ,D_Date date
)
INSERT INTO TableA VALUES('张三',1,'2017-09-30')
INSERT INTO TableA VALUES('张三',2,'2017-09-29')
INSERT INTO TableA VALUES('李四',2,'2017-09-30')
INSERT INTO TableA VALUES('李四',3,'2017-09-26')
INSERT INTO TableA VALUES('李四',2,'2017-09-15')
INSERT INTO TableA VALUES('张三',3,'2017-05-15')
方法一:使用MAX()函数来查询:
SELECT a.Names,a.GateNo,a.D_Date FROM dbo.TableA a WHERE a.D_Date = (SELECT MAX(b.D_Date) FROM dbo.TableA b WHERE a.Names=b.Names)
方法二:使用ROW_NUMBER()函数来查询:
SELECT a.Names,a.GateNo,a.D_Date
FROM (
SELECT Names,GateNo,D_Date,ROW_NUMBER() OVER(PARTITION BY Names ORDER BY D_Date DESC) AS rows
FROM dbo.TableA
) a WHERE a.rows = 1
效果如下图所示:
- 查找相同记录的最大日期的行
- sql 查询相同记录下日期最大的 一条
- sql 查询相同记录下日期最大的 一条
- 查找表中相同的记录
- 取得相同id 下日期最大的对象
- 查找两个字符串的最大相同子串
- 查找两个字符串中最大的相同子字符串长度
- 查找两个字符传中最大的相同字符串
- 查找字符串中相同的最大字符和个数
- 查找两个字符串中最大相同的字串
- 合并相同的行(记录)
- 查找一表中一字段记录集行数相同的数量
- 查找两个表中相同列的记录并导出
- 使用SQL语句快速查找表中相同的记录或有相同数据的列
- SQL_多条记录中取最大日期的记录
- 得到相同的记录
- 删除相同的记录
- 删除数据库中表的某些相同的某些记录 OR 查找数据库的表中的相同记录
- 用C语言进行最基本的socket编程
- MUI+hbuider为基础 的基础登陆功能
- 每日一练(20171027)
- Android Architecture Component -- Lifecycle 浅析
- 优秀的前端程序员与菜鸟差别在哪里?(javascript篇)
- 查找相同记录的最大日期的行
- XML文件读写编码不是UTF-8的问题
- 思科首席执行官传授商业成功窍门
- API 获取文件某个字段对应的整型值
- 初学java:判断字符串是否回文
- Python读取卡夫卡
- LintCode:A+B的和
- 关于接口的理解2
- ellipsis文本溢出省略