取时间最大的一条记录
2017-10-27 14:30
423 查看
id title
a1 a1
b表
id Aid name time
b1 a1 u 2017-5-6
b2 a1 x 2017-7-8
b3 a1 z 2017-2-9
显示成
b2
a1 x
2017-07-08
if not object_id(N'Tempdb..#A') is null
drop table #A
Go
Create table #A([id] nvarchar(22),[title] nvarchar(22))
Insert #A
select N'a1',N'a1'
GO
if not object_id(N'Tempdb..#B') is null
drop table #B
Go
Create table #B([id] nvarchar(22),[Aid] nvarchar(22),[name] nvarchar(21),[time] DateTIME)
Insert #B
select N'b1',N'a1',N'u','2017-5-6' union all
select N'b2',N'a1',N'x','2017-7-8' union all
select N'b3',N'a1',N'z','2017-2-9'
Go
select * from #A
select * from #B
;WITH cte AS (
SELECT * ,
ROW_NUMBER() OVER ( PARTITION BY Aid ORDER BY time DESC ) AS num
FROM #B
)
SELECT cte.id ,
cte.Aid ,
cte.name ,
cte.time
FROM cte
JOIN #A ON #A.id = cte.Aid
WHERE cte.num = 1;
相关文章推荐
- MySql 分组排序取时间最大的一条记录
- [MySQL]学习笔记- 用户行为表中,查询每个人的一条最新行为(分组 排序 取时间最大的一条记录)
- mysql 分组 排序 取时间最大的一条记录
- 在mysql 中查询时间最大的一条记录
- 在mysql 中查询时间最大的一条记录
- Sql语句 表中相同的记录(某个字段)只显示一条,按照时间排序显示最大或最小
- 查找今天内,时间最大的一条记录
- 表中数据按时间取最新的一条记录
- 获取分组后取某字段最大一条记录
- SQL 取出UserID相同记录中的一条,并且取的是ID最大的。
- 求一组数据中最大的值(也可以理解为近三个月是最后一条记录)
- 什么是域名的TTL值? ——一条域名解析记录在DNS缓存服务器中的存留时间
- 带条件查询离当前时间最近的一条记录
- 获取一张表中某个字段最大值的一条记录
- sql查询数据库时间最新的一条记录
- oracle 根据时间排序,删除相邻的除排序字段均相同的两条中较新的一条记录
- sql取记录中的第一条或是最大的一条
- 用一条查询语句取出price的和最大的连续5条记录
- sql 查询相同记录下日期最大的 一条
- mysql删除重复数据只保留id最大一条记录