【发布时间】:2021-10-20 18:39:41
【问题描述】:
select distinct top 3 FamilyId,max(LastUpdatedOn) as LastUpdatedOn from Members
group by FamilyId
order by max(LastUpdatedOn) desc
产生:
FamilyId| LastUpdatedOn
933 | 2021-08-18 14:52:00
932 | 2021-08-18 14:40:00
874 | 2021-08-18 13:46:00
select top 3 Id as FamilyId,LastUpdatedOn from Families order by LastUpdatedOn desc
生产
FamilyId| LastUpdatedOn
933 |2021-08-18 14:42:00
932 |2021-08-18 14:39:00
834 |2021-08-16 03:18:00
如何合并/合并两个结果列表,同时根据LastUpdatedOn 保持排序顺序(是的,可以有多个具有相同FamilyId 的行)?我在托管共享服务器上,因此可能无权创建临时表。
背景:表Members 包含有关个人的信息,而Families 包含家庭级别的信息。每个成员都属于一个家庭,因此Members.FamilyId 指的是主键Families.Id。我想获取最后几个Families 的Families.Id 值或 Members 已修改。
【问题讨论】:
-
你想要的输出是什么?
-
@drum 基本上是两个查询的联合,但根据
LastUpdatedOn维护排序顺序。 -
用您正在使用的数据库标记您的问题。
标签: sql-server merge