You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两条SQL查询结果集并按LastUpdatedOn排序(无需临时表)

你可以直接用 UNION ALL 拼接两个查询结果,再在外层做统一排序,完全不需要用到临时表,对数据库权限没有额外要求,符合你共享托管服务器的使用场景:

SELECT FamilyId, LastUpdatedOn
FROM (
    -- 来自Members表的最近更新家庭记录
    SELECT DISTINCT TOP 3 FamilyId, MAX(LastUpdatedOn) AS LastUpdatedOn 
    FROM Members
    GROUP BY FamilyId
    ORDER BY MAX(LastUpdatedOn) DESC
    UNION ALL
    -- 来自Families表的最近更新家庭记录
    SELECT TOP 3 Id AS FamilyId, LastUpdatedOn 
    FROM Families 
    ORDER BY LastUpdatedOn DESC
) AS CombinedResults
ORDER BY LastUpdatedOn DESC;

说明

  • 选择 UNION ALL 而非 UNION,是因为你要求保留相同FamilyId的多条记录,UNION 会自动剔除完全重复的行,不符合需求
  • 如果需要限制最终返回的总条数,直接在外层SELECT后加TOP N即可
  • 最终结果会将两个查询的所有返回结果合并后,统一按更新时间倒序排列,满足你获取最近有修改的家庭ID的需求

内容的提问来源于stack exchange,提问作者u936293

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:30:06