基于上个月显示前6个月的前10名

时间:2016-02-04 13:50:26

标签: sql postgresql netezza

我希望在过去的6个月中显示来自不同政党的收入的图表,但仅基于上个月的10个人的最高收入。

所以每个月都会有变化,因为前十名的人在存入更多资金时可以改变,因此该图表将显示过去6个月内这10个人的存款,仅基于上个月的存款。

我已经使用了LAG函数和RANK()OVER PARTITION函数。

1 个答案:

答案 0 :(得分:1)

我不明白你为什么需要等级或滞后功能。

您只需使用IN语句:

SELECT * FROM YourTable t
WHERE t.depositDate between StartRangeDate and EndRangeDate
AND t.ID in(select ID from(SELECT s.id,sum(s.depositAmount) as total
                           from YourTable s
                           where s.date between ThisMonthStart and ThisMonthEnd
                           group by s.id)
            order by total
            limit 10)

您可以使用第一个选择来选择你想要的/添加一个组并将它们相加或者我不知道。