如何使用postgresSql或jpa获取所有列的第一次出现的组?

时间:2016-03-29 20:57:07

标签: sql postgresql greatest-n-per-group

我有这张表“测试”

id, limite, unidade, algo
1   1       1        aegeg
2   1       1        srhrh
3   2       1        gesrsrhbg
4   2       1        egWRG
5   2       2        ftgjd\h

id是唯一的,但算法不是唯一的。

我想在输出中显示所有列。

我想通过限制和明天分组。

我想要以下输出,我可以用它来生成:

select limite, unidade 
from test 
group by limite, unidade

limite, unidade
1       1
2       1
2       2

加上列,id和算法,从第一次出现的

组开始
id, limite, unidade, algo
1   1       1        aegeg
3   2       1        gesrsrhbg
5   2       2        ftgjd\h

但我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

select a.id, a.limite, a.unidade, t.algo
from (
    select 
       min(id) as id,
       limite,
       unidade
    from test
    group by 
       limite,
       unidade
) a
   left join test t on t.id = a.id