2017-10-18 7 views
0

私は多くのユーザーと日付時刻の列を持っています。毎年、毎月の各ユーザーの最小値と最大値を知りたいですか?Sql Min最大範囲関数オーバー?

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(Income)over(名前、年(日付)、月(日付)によるパーティション分割)はどうですか? ;)。 –

+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

はちょうどあなたが集計する列およびグループのユーザーによって、日付

ウィンドウ関数

関連する問題