각 그룹, 사용자, 상태, 특정 필드의 최대 값을 하루 동안 표시해야하는 쿼리에 문제가 있습니다. 나는 내부를 사용하기 위해 노력하고있어각 그룹의 최대 값 만 표시
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
주어진 입력을 볼 때 어떤 출력을 기대 하겠는가? –