쿼리 에디터 활용 예시를 안내드립니다.
아래 내용은 이해를 돕기 위한 예시이므로, 실제 사용 중인 테이블 구조에 맞게 테이블명, 컬럼명, 조건 값을 수정하여 활용해 주시기 바랍니다.
1. 예시 테이블 구성 (league_user)
유저 테이블 타입으로 생성하였으며, 컬럼은 아래와 같이 구성하였습니다.
| 컬럼 |
타입 |
기본값 |
설명 |
| user_uuid |
uuid |
- |
유저 식별값 (유저 테이블 생성 시 자동 추가) |
| id |
int32 |
AUTO_INCREMENT |
행 식별값 (Primary) |
| group_id |
int32 |
0 |
리그 그룹 ID (0 = 미배정) |
| tier |
int32 |
1 |
리그 등급 (예: 1=브론즈, 2=실버, 3=골드) |
| score |
int32 |
0 |
리그 점수 |
※ 조회·수정 조건으로 사용하는 group_id + score는 복합 인덱스로 설정하는 것을 권장드립니다.
2. 예시 초기 데이터
1번 그룹(실버 등급)에 4명의 유저가 있다고 가정합니다.
3. 승급 처리
먼저 1번 그룹에서 점수 상위 1명을 조회하여 승급 기준 점수를 확인합니다.
SELECT * FROM league_user WHERE group_id = 1 ORDER BY score DESC LIMIT 1;
조회된 유저의 점수(1800점)를 기준으로 등급을 변경합니다.
UPDATE league_user SET tier = 3 WHERE group_id = 1 AND score >= 1800;
4. 강등 처리
1번 그룹에서 점수 하위 1명을 조회하여 강등 기준 점수를 확인합니다.
SELECT * FROM league_user WHERE group_id = 1 ORDER BY score ASC LIMIT 1;
조회된 유저의 점수(300점)를 기준으로 등급을 변경합니다.
UPDATE league_user SET tier = 1 WHERE group_id = 1 AND score <= 300;
5. 처리 결과
점수 1800점 유저는 실버(2) → 골드(3)로 승급되고, 점수 300점 유저는 실버(2) → 브론즈(1)로 강등된 것을 확인할 수 있습니다.
위 과정을 그룹별로 반복하여 진행해 주시면 됩니다.
그룹 재배정이나 점수 초기화가 필요한 경우에도 동일하게 UPDATE ... SET ... WHERE 형식으로 대상 조건을 지정하여 처리하실 수 있습니다.
참고 사항
- 기준 점수와 동일한 점수의 유저가 여러 명일 경우, 승급·강등 인원이 의도한 인원보다 많아질 수 있습니다.
- 수정 쿼리는 즉시 반영되며 되돌릴 수 없으니, UPDATE 실행 전 동일한 조건의 SELECT로 대상을 먼저 확인해 주세요.
- 쿼리 에디터는 JOIN, GROUP BY, 서브쿼리 등 고급 SQL은 지원하지 않습니다.
추가로 문의해주신 테이블 컬럼 추가 및 삭제와 관련해서는
‘변경사항 적용하기’ 버튼이 활성화 되지 않는 문제라면 컬럼추가 버튼 아래 상세 원인이 표시되고 있습니다.
해당 정보를 확인하여 주시고 과정에 확인이 필요한 내용이 있으신 경우 회신해 주시면 감사하겠습니다.