Postgresql 使用分组方式而不使用聚合

Postgresql 使用分组方式而不使用聚合,postgresql,group-by,aggregate,Postgresql,Group By,Aggregate,我有以下数据 UserId Val txt 100 10 A 200 25 B 100 30 GV 300 15 BHG 200 20 BGV 并希望编写一个查询,为每个用户提供min(val) 结果: 100 10 A 200 20 BGV 300 15 BHG 试试这个: SELECT

我有以下数据

UserId      Val   txt
100         10     A
200         25     B
100         30     GV
300         15     BHG
200         20     BGV
并希望编写一个查询,为每个用户提供min(val)

结果:

100        10      A
200        20      BGV
300        15      BHG
试试这个:

SELECT DISTINCT ON (userID) *
FROM your_table
ORDER BY userID, val

val
字段中选择的逻辑是什么。对于
UserId
200
您有
20
作为
val
。为什么
20
?为什么
userid
100
获取
txt
value
A
而不是
txt
value
GV
AGV
。这一切都是非常随意的。请为每一项选择最小值(val)user@user3780058你试过这个问题了吗?它会给你你描述的结果。它将为您提供具有最小值的记录。