Postgres SELECT DISTINCT,只有最高值

时间:2013-10-01 11:58:59

标签: sql postgresql

我正在使用以下pgsql查询来选择index_id并在关卡列上进行不同的查询。

SELECT DISTINCT ON (level) index_id FROM indexes 

虽然它有效,但它会返回每个级别的第一个index_id,我希望在每个不同级别中获得最高index_id

2 个答案:

答案 0 :(得分:7)

使用order by获取最大index_id

SELECT DISTINCT ON (level) index_id 
FROM indexes 
order by level, index_id desc

答案 1 :(得分:3)

尝试使用GROUP BY而不是DISTINCT ON

SELECT MAX(index_id)  FROM indexes GROUP BY level