학생 이름 / 과목 / 점수 / 등수
A / 영어 / 90 / 1
B / 영어 / 70 / 3
C / 영어 / 80 / 2
D / 영어 / 65 / 4
이러한 데이터가 있을 때 E / 영어 / 85 / null 데이터가 들어가면 자동으로
A / 영어 / 90 / 1
B / 영어 / 70 / 4
C / 영어 / 80 / 3
D / 영어 / 65 / 5
E / 영어 / 85 / 2
이런식으로 수정하게끔 update문을 사용하고 싶습니다. 어떻게 해야할까요?
p.s Oracle이 아닌 Mysql 입니다
update 문을 쓰지마시고 select 할때 순위를 구하세요.
아래의 함수들을 상황에 맞춰 쓰시면 됩니다.
row_number() over()
rank() over()
dense_rank() over()
생각해보니 mysql이라고 안 적었네요. ㅠㅠ 답변 감사합니다
순위는 저장하고 갱신하기 보다는. 조회할 때 로직으로 처리하는게 좋습니다.
MySQL 도 최신 버전에는 rank 기능 사용 가능하구요.
예전 버전이라면? 다음 퀴즈 게시글 참조하세요.
http://gurubee.net/lecture/2192