各グループ、ユーザー、ステータス、特定のフィールドの最大値を1日に表示する必要があるクエリに問題があります。各グループの最大値のみ表示する
groupno user status date amount
74 user1 status_1 2016-01-01 05:40:00.0 900
74 user1 status_1 2016-01-01 05:45:00.0 1200
79 user1 status_2 2016-01-01 05:45:31.0 31
79 user1 status_2 2016-01-01 05:50:00.0 300
79 user1 status_2 2016-01-01 05:55:00.0 600
79 user1 status_2 2016-01-01 06:00:00.0 900
79 user1 status_2 2016-01-01 06:05:00.0 1200
90 user1 status_1 2016-01-01 06:07:52.0 172
90 user1 status_1 2016-01-01 06:10:00.0 300
90 user1 status_1 2016-01-01 06:15:00.0 600
私はインナーを使用しようとしているが、グループごとに最大に最大量に参加するが、私は再びすべての値を取得するように動作していない:
select t.groupno, t.user, t.status, t.date, t.amount
from (select groupno,user, status, date, max (amount) as maxact from table group by 1,2,3,4) as m
Inner
join table as t
on t.user= m.user
and t.amount= m.maxact
and t.status = m.status
and t.date = m.date
希望の結果を投稿してください。あなたが 'row_number()'関数を必要としているように見えますが、検証可能な結果が表示されない限り、私は確信が持てません – Simon
入力があれば、どんな出力が見えますか? –