0

在我在这里写下来之前,我已经花了一整天的时间来解决这个问题。请帮我解决这个问题。

table source:
      ID | FID | ROLE
       1 | 1 |  16
       2 | 1 |  17
       3 | 1 |  16
       4 | 2 |  16
       5 | 2 |  17
       6 | 2 |  16


result:
  ID | FID | ROLE
   3 | 1 |  16
   6 | 2 |  16

数据库:SQL SERVER 描述:我需要的结果是不同的 FID 值(返回单个值/单行),但仅适用于角色 = 16 并选择更大/最大的 ID。


无论如何谢谢

4

3 回答 3

0

尝试这个;

SELECT MAX(ID) AS ID, FID, ROLE
FROM Table_Name
WHERE ROLE = 16
GROUP BY FID, ROLE
于 2013-09-30T13:51:49.653 回答
0

这是一种方法。

select 
  max(id) as id, 
  fid, 
  role 
from source 
where role = 16
group by
  fid, 
  role
于 2013-09-30T13:53:29.460 回答
0
select distinct FID, max(ID)
from Tabel_Name
group by FID
于 2013-09-30T14:04:50.567 回答