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

SQL Server 2016中合并相同number值的T-SQL实现需求

在SQL Server 2016中合并相同number值的解决方案

嘿,针对你要合并SQL Server 2016数据库中相同number值的需求,我给你两种实用的解决方案,你可以根据实际期望输出选择:

方案一:保留每个number的最新记录

如果你的目标是每个number只保留一条最新修改时间的记录,用窗口函数ROW_NUMBER()就能精准实现:

WITH RankedRecords AS (
    SELECT 
        ID,
        number,
        lastModifiedDate,
        -- 按number分组,每组内按修改时间倒序排名
        ROW_NUMBER() OVER (PARTITION BY number ORDER BY lastModifiedDate DESC) AS rn
    FROM YourTableName -- 替换成你的实际表名
)
SELECT ID, number, lastModifiedDate
FROM RankedRecords
WHERE rn = 1; -- 取每组排名第一(最新)的记录

要是你想保留每组最早的记录,只需要把ORDER BY lastModifiedDate DESC改成ASC就行。

方案二:简单去重合并(保留最大修改时间)

如果只是需要对相同number的记录去重,并且用该number对应的最晚修改时间作为结果,用GROUP BY更直接:

SELECT 
    ID,
    number,
    MAX(lastModifiedDate) AS lastModifiedDate -- 取每组最晚的修改时间
FROM YourTableName -- 替换成你的实际表名
GROUP BY ID, number; -- 按ID和number分组

从你的示例表来看,所有记录的ID都是124,如果实际场景中ID确实固定,也可以简化成GROUP BY number。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:30:11