【发布时间】:2014-09-19 13:40:42
【问题描述】:
我无法找到正确的 sql 查询。我想选择具有唯一 x 值的所有行,如果存在具有相同 x 值的行,那么我想选择具有最大 y 值的行。例如,我将我的数据库的一部分放在下面。
ID x y
1 2 3
2 1 5
3 4 6
4 4 7
5 2 6
然后,所选行应该是 ID 为 2、4 和 5 的行。
这就是我目前所得到的
SELECT *
FROM base
WHERE x IN
(
SELECT x
FROM base
HAVING COUNT(*) > 1
)
但这只会导致出现多次的行。我添加了标签 R、postgresql 和 sqldf,因为我在 R 中使用这些包。
【问题讨论】:
-
请编辑问题以包含您提供的数据的示例结果。
标签: sql r postgresql sqldf