Ms-2000
7 个解决方案
#1
order by XX(例如ID) desc 或者asc
select top 1 * fom table
select top 1 * fom table
#2
如果有时间,那么就
select * from table a where not exists(select * from table where F1 = a.F1 and 时间 > a.时间)
select * from table a where not exists(select * from table where F1 = a.F1 and 时间 > a.时间)
#3
不用指定字段?
#5
必需要其它的字段,指定字段都一模一样,怎么处理。
#6
F1 和Nr--大小列定义 最近一次的记录可相同
DECLARE @T TABLE(F1 INT,Nr int)
INSERT INTO @T
( F1, Nr )
VALUES ( 1, -- ID - int
10 -- Num - int
),(2,20),(2,30),(2,30);
SELECT * FROM (SELECT *,RN=ROW_NUMBER()OVER(PARTITION BY F1 ORDER BY Nr desc) FROM @T) AS a WHERE RN=1
/*
F1 Nr RN
1 10 1
2 30 1
*/
#7
select *FROM tb where ID=(SELECT MAX(id) as id FROM tb having COUNT(id)>1 )
#1
order by XX(例如ID) desc 或者asc
select top 1 * fom table
select top 1 * fom table
#2
如果有时间,那么就
select * from table a where not exists(select * from table where F1 = a.F1 and 时间 > a.时间)
select * from table a where not exists(select * from table where F1 = a.F1 and 时间 > a.时间)
#3
如果有时间,那么就
select * from table a where not exists(select * from table where F1 = a.F1 and 时间 > a.时间)
不用指定字段?
#4
#5
如果有时间,那么就
select * from table a where not exists(select * from table where F1 = a.F1 and 时间 > a.时间)
不用指定字段?
必需要其它的字段,指定字段都一模一样,怎么处理。
#6
F1 和Nr--大小列定义 最近一次的记录可相同
DECLARE @T TABLE(F1 INT,Nr int)
INSERT INTO @T
( F1, Nr )
VALUES ( 1, -- ID - int
10 -- Num - int
),(2,20),(2,30),(2,30);
SELECT * FROM (SELECT *,RN=ROW_NUMBER()OVER(PARTITION BY F1 ORDER BY Nr desc) FROM @T) AS a WHERE RN=1
/*
F1 Nr RN
1 10 1
2 30 1
*/
#7
select *FROM tb where ID=(SELECT MAX(id) as id FROM tb having COUNT(id)>1 )