如下图查询界面,有两行Nname为Test1的数据,那么需要将Test1对应uptime的数据更新为最新的,即IDD为105的uptime应为2016-12-30 09:07:16.503
同理:对于Nname重复列Test2,IDD为106的uptime应为2016-12-30 09:07:16.503
求解:
SELECT T.NNMAE,MAX(UPTIME) FROM IBBC.DBO.TABLE_1 AS T GROUP BY T.NNMAE
我最后的目的是8条数据不变,只是对于重复数据的uptime栏位是最新的时间
@郎中令:
SELECT A.IDD,A.NNMAE,B.UPTIME FROM IBBC.DBO.TABLE_1 A,
(
SELECT T.NNMAE,MAX(UPTIME) FROM IBBC.DBO.TABLE_1 AS T GROUP BY T.NNMAE
) B
WHERE A.NNMAE=B.NNMAE
还不能破坏表中的数据,也就是说不能使用update,据说可以根据Row_number() OVER() 函数来处理
@ensleep: 谢谢提供思路
update table set upate_time='123' where master_id in(SELECT idd FROM table group by Nname having count(Nname)>1 );
可能有中文字符问题,手打的你注意一下,123就设置为最新的时间就行了
@让我发会呆: 谢谢