我正在開發使用的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來做這件事,那也是一個令人困惑的陳述,但我仍然想要得到所有的結果,然後只用幾個就不會爲我節省很多時間。 –