我的桌子
integer | party | value | and many more columns
----------+---------+-------+----------------------
1 | abc | 40 | -----
1 | abc | 90 | -----
2 | pqr | 12 | -----
1 | abc | 120 | -------
2 | pqr | 86 | --------
以此类推
我希望检索整行,该行具有最大值
上表的示例输出
1 abc 120
2 pqr 86
对于一个特定的独立聚会,我希望获取具有最大价值的行。
答案 0 :(得分:1)
您可以使用rank
窗口函数查找每个参与方的“最大”行:
SELECT
id, party, value
FROM
(SELECT
id, party, value,
RANK() OVER (PARTITION BY party ORDER BY value DESC) AS rk
FROM
mytable) t
WHERE
rk = 1
答案 1 :(得分:0)
使用简单的聚合函数MAX(),假设整数是一个id列
select id,party, max(value) as max_val from your_table
group by id,party