从一组数据中获取最大值

时间:2017-12-13 19:00:26

标签: sql-server

我在下表中有数据,需要获取具有最大MID的不同MPSOBTID的记录 例如:MPSOBTID = 5929 getMID = 5等等

ID      MID     MPSOBTID         EmpID           DesgID 
7        2        5897            957            629            
8        2        5898            544            604            
9        2        5896            544            604        
10       3        5929            961            590        
11       3        5930            120            604    
12       3        5931            1009           604    
16       4        5929            961            590        
17       4        5930            120            604    
18       5        5929            961            590        
19       5        5930            120            604    
20       5        5931            1009           604    
24       6        5903            544            604    
25       6        5904            957            629    
26       6        5905            544            604    

1 个答案:

答案 0 :(得分:1)

您可以通过查询使用简单的组,如下所示 see working demo

select MPSOBTID,MAX(MID) maximumMID
from yourTable
group by MPSOBTID

如果您需要此maximumMID记录的所有数据,您可以加入桌面并获取如下查询数据

select T.* from yourTable T
inner join 
( 
    select MPSOBTID,MAX(MID) maximumMID
    from yourTable
    group by MPSOBTID
)T1
on T.MID=T1.maximumMID 
and T.MPSOBTID = T1.MPSOBTID