SQL选出每组数据最大值

本文介绍了一种使用SQL内连接查询来从数据表中选择每个编号对应的最晚一条记录的方法,即时间值最大的记录。通过创建子查询来获取每个ID的最大日期,并与原表进行内连接匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一数据表中有如下数据:
第一列是编号,第二列是内容,第三列是时间
 F183S-T0201      9998                 4/26/2006 5:11:50 PM                
 F183S-T0201      9998                 4/29/2006 5:14:04 PM                
 F183S-T0201      9998                 4/30/2006 5:18:23 PM               
 F183S-T0222      9998                 4/26/2006 5:11:50 PM                
 F183S-T0222      9998                 4/29/2006 5:14:04 PM                
 F183S-T0222      9998                 4/30/2006 5:18:23 PM    

想选出一组数据:每个编号的最晚一条记录,也就是时间值最大的记录    
 F183S-T0201      9998    4/30/2006 5:18:23 PM        
 F183S-T0222      9998    4/30/2006 5:18:23 PM 

使用inner join:

select A.id,A.content,A.Date from table A 
inner join (select id, max(date) as Date from table group by id) B on A.id=B.id AND A.Date=B.Date

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值