2016-02-04 72 views
1

我想表明來自不同黨派的收入曲線在過去的6個月,但僅基於基於上個月10人的收入最高的前10名。基於上個月顯示6前幾個月

因此,這可以改變每個月,當他們存更多的錢,前10人可以改變,使圖形將顯示過去6個月這10人的存款,僅基於過去的一個月押金。

我已經使用了LAG功能和OVER PARTITION功能的RANK()。

+0

這是一個功課題嗎?你到目前爲止嘗試了什麼?展示你的工作。 – Joe

+1

歡迎來到Stack Overflow。看了這個,第一:http://stackoverflow.com/help/how-to-ask – Joe

回答

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) 

您可以用第一選擇播放,選擇您要什麼都/通過添加組,總結他們或我不知道。

+0

我有兩個其他問題則: 1.什麼是你的報表後,選擇ID? 2.如果我已經有t.ID,並且實際上沒有s.ID,那麼爲什麼我需要s.ID,因爲它與t.ID相同? 謝謝! – Naj

+0

@Naj因爲您首先必須確定那些僅在過去一個月內完成了頂級1p存款的人,然後您需要另一個查詢以便在過去6個月內選擇他們。它有兩種不同的條件可以將它們組合。 – sagi

+0

非常感謝sagi,今天我會嘗試! = D – Naj