我有下表:
self.rooms.append(Room(id: id, name: name))
我想要的结果是:
AGENT CLIE
-----------
A 1
B 1
A 2
B 2
C 1
所以我想只显示最高等级的客户,如果存在,否则显示该条目。
对于A和B,有更高级别的客户端,但对于c,则没有。
我该如何做到这一点?
答案 0 :(得分:0)
select agent, max(clie)
from your_table
group by agent
答案 1 :(得分:0)
假设此处“2”的排名优于“1”,则可以使用MAX函数:
SELECT
AGENT, max(CLIE)
FROM
table
GROUP BY
AGENT
(optional) ORDER BY AGENT
答案 2 :(得分:0)
正如其他人所提到的,如果您只想在输出中使用agent
和最大clie
,那么请使用简单聚合:
Select agent, max(clie)
From your_table
Group by agent
如果您有其他列,并且您希望输出中的那些列对应于最大clie
的行,请使用窗口函数row_number
(或rank
如果您希望所有行都具有最大值clie为每个agent
):
Select *
From (
Select t.*,
Row_number() over (
Partition by agent
Order by clie desc nulls last
) as rn
From your_table t
) t
Where rn = 1;