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

Top 10 based on last month showing 6 previous months

我想显示过去 6 个月来自不同各方的收入的图表,但仅基于上个月的 10 个人的最高收入。

所以这每个月都会发生变化,因为前 10 个人在存入更多钱时会发生变化,因此图表将显示这 10 个人最近 6 个月的存款,仅基于上个月的存款。

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

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

您可以简单地使用 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)

你可以玩第一个 select 到 select 什么你 want/add 一组然后把它们相加或者我不知道。