这个怎么样:
SELECT DISTINCT ON (name) * FROM messages ORDER BY name, id DESC;
我也有类似的问题(关于postgresql的强硬)和一个1M记录表。这个解决方案需要1.7秒,而使用左连接的解决方案需要44秒。 在我的情况下,我不得不过滤你的 名称 与空值对应的字段,从而在0.2秒内获得更好的性能