通过id postgres偏移多行

时间:2019-04-01 17:31:23

标签: sql postgresql offset

我正在尝试从查询结果中更新多行,但无法更新。

这是我的表结果

15347   108
15665   108
15297   108
15454   105
15850   105
15304   205
15690   205
15360   205

我想只将第一个结果偏移id_num,例如15347、15454和15304 ...

这是我正在使用的sql查询

select id, id_num from animal where club = 78 offset 1 limit all;

但是它仅偏移第一行... 这就是我想要的结果

15665   108
15297   108
15454   105
15304   205
15690   205

2 个答案:

答案 0 :(得分:0)

您是说要每个col1的最小值col2吗?如果是这样,则与offset无关。

您的查询将是这样的:

select a.*
from animal a
where a.club = 78 and
      a.col1 = (select min(a2.col1)
                from animal a2
                where a2.col1 = a.col1 and a2.club = a.club
               );

答案 1 :(得分:0)

您可以使用DISTINCT ON ()

SELECT DISTINCT ON (col2) *
FROM animal
WHERE a.club = 78
ORDER BY id;