sql - 选择没有分组的最大值
问题描述
我需要帮助获得每个 id 的最大值。简单的表格如下所示,
ID Value
---------------
111 150
112 110
111 100
113 120
115 130
111 180
112 190
我也想在输出中看到:
ID Value
---------------
111 180
112 190
111 180
113 120
115 130
111 180
112 190
我不想按每个 id 分组,我希望所有这些都在输出中。
解决方案
我想你想要窗口功能:
select t.*, max(value) over (partition by id) as max_id
from t;
这回答了这个问题。我不确定样本数据与问题有什么关系。