2017-10-18 46 views
0

我有許多用戶和日期時間列。我想知道每個用戶每年和每個月的最小值和最大值?Sql最小範圍有超功能?

name  date  Income  Expense 
Vijay  12-10-2017 10   8 
Vijay  16-04-2017 25   12 

year(date) as Y_year, 
month(date) as M_Month, 

我嘗試下面的代碼,但沒有用任何

min(Income)over(PARTITION by (name, Y_year,M_Month)) as min_income_of_month, 
Max(Expense)over(PARTITION by (name, Y_year,M_Month)) as Max_Expense_of__month 
+0

編輯你的問題,同時提供樣品的一個月數據和期望的結果。原始數據是什麼樣的? –

+0

'min(收入)結束(按名稱劃分,年(日期),月份(日期))''? )。 –

+0

非常感謝:)它的工作原理 – vijayaragavan

回答

0

這是你想要的嗎?

select name, year(date) as Y_year, month(date) as M_Month, 
     min(income), max(income), min(expense), max(expense) 
from t 
group by name, year(date), month(date) 
order by name, Y_year, M_Month; 
+0

謝謝:)這只是我想用窗口函數來計算它。 – vijayaragavan

0

只需使用最小和最大功能上要聚集列和組用戶和日期

無需使用窗口功能