首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

找出同SID上的最大Series No或最大Version的那一行

2012-08-08 
找出同SID下的最大Series No或最大Version的那一行我是要找出同SID下的:(1)如果相同series no,就取最大Ver

找出同SID下的最大Series No或最大Version的那一行
我是要找出同SID下的:(1)如果相同series no,就取最大Version那一行
(2)在最大series no的行中取version最大的记录
有这样一个表:

SID FY Type Series No Version
15476 2012 A 1 1
15476 2012 A 2 1
15476 2012 A 2 2
15476 2012 A 3 1
15800 2012 A 1 1
15800 2012 A 2 1
15800 2012 A 2 2
15800 2012 A 3 1

用一条SQL 语句,按SID,FY,Type查找出Series No和Version最大的那些记录。

也就是说,要找出下面这样的结果记录:
15476 2012 A 3 1
15800 2012 A 3 1

不能找出 象15476,2012,A,3,2这样的结果出来。

怎么写SQL语句????

SQL SERVER 里的
[/code]

[解决办法]

SQL code
select *from [table] awhere exists (  select 1 from (    select sid, max([Series No]) as maxSNo     from [table]    group by sid    ) as b   where b.sid = a.sid and a.[Series No] = maxSNo  )and not exists (  select 1 from [table] b  where b.sid = a.sid   and b.[Series No] = a.[Series No]  and b.Version > a.Version  )
[解决办法]
探讨

问题解决了

SELECT *
FROM (SELECT *,row_number()over(partition by [SID],[FY],[Type]
order by SeriesNo desc, Version desc) as num
……

热点排行