Postgres Distinct而不是Group By

时间:2017-01-23 19:14:39

标签: postgresql

我正在从mysql迁移到我可以做一个简单的Group By到Postgres。我想基本上按月和年分组记录,例如我只能获得2016年1月的一条记录,2016年2月的记录等。

我在Postgres中使用查询,但我不确定这是否是最有效的方法,它看起来应该有更好的东西。我最终不得不在年和月列的组合上运行Distinct。年和月列是整数。

SELECT distinct on (year::text || month::text) id, name, type, month, year 
FROM records 
WHERE type = 44 
ORDER BY year::text || month::text DESC, year, month  
LIMIT 12

1 个答案:

答案 0 :(得分:0)

您不需要连接:

select distinct on (year, month)
    id, name, type, month, year
from records
where type = 44
order by year desc, month desc
limit 12