대출 금액, 연간 소득, 연도 (MMM-YY 형식) 및 멤버 ID가있는 대출 테이블이 있습니다. 나는 재정적 인 연간 소득과 회원 ID 세부 사항을 따라 1 년 안에 가장 많은 대출 금액을 찾고자합니다.HIVE의 캐스트 별칭 사용
가 나는 회원 ID와 연간 소득 정보를 가져 오기 위해 또한 원하는 코드를 다음
select max(cast(loan_amt as int)),issue_d from loan group by issue_d;
을 사용하여 올해 그룹에 가장 높은 대출 금액을 시도 그래서 나는
는하지만, 그것이 다음과 같은 코드를 작성 캐스팅 된 열에 별칭을 사용하는 것에 대한 오류 메시지가 나타납니다.
코드 : 무엇 당신이 원하는 것은 순위 양에 따라 기록이다
select a.loan_amt,a.member_id,a.annual_inc,a.issue_d
from
(select loan_amt,member_id,annual_inc,issue_d from loan) a
join
(select max(cast(loan_amt as int)) as ml,issue_d from loan group by issue_d) c
where ((a.issue_d=c.issue_d) and (a.loan_amt=a.ml));
rank
또는dense_rank
로row_number
을 대체 할 코드는 실제로 대신에 사용 두 번째 j의 where와 c.ml 오인 상태? –좋은 해결책을 요구하는 대신 기술적으로 문제가있는 해결책을 고치려고합니다. –
P. MMM-YY는 나쁜 디자인이므로 캐스팅해야하는 loan_amt도 있습니다. –