我正在开发使用的Trac系统,我想限制数量“更新日志”条目返回。问题在于Trac使用union
对来自多个表的这些条目进行整理,然后根据它们的时间戳稍后将它们组合为单个“更改集”。我希望将结果限制在最新的例如3个变更集,但这需要根据需要检索尽可能多的行,直到获得3个独特的时间戳。解决方案需要为SQLite/Postgres工作。搜索结果限制为X基团
当前SQL结果
Time User Field oldvalue newvalue permanent
=======================================================================
1371806593507544 a owner b c 1
1371806593507544 a comment 2 lipsum 1
1371806593507544 a description foo bar 1
1371806593324529 b comment hello world 1
1371806593125677 c priority minor major 1
1371806592492812 d comment x y 1
预期SQL结果(限1个时间戳EG)
Time User Field oldvalue newvalue permanent
=======================================================================
1371806593507544 a owner b c 1
1371806593507544 a comment 2 lipsum 1
1371806593507544 a description foo bar 1
谢谢你。最后我选择了基本做到这一点(尽管我们的模板与香草trac有很大不同)。我已经将get_changelog更改为一个生成器函数,它也可以加快速度。我明白,即使我是用SQL来做这件事,那也是一个令人困惑的陈述,但我仍然想要得到所有的结果,然后只用几个就不会为我节省很多时间。 –