반응형
[[MySQL] 데이터 생성, 읽기, 수정, 삭제 - INSERT / SELECT / UPDATE / DELETE
먼저 사용할 테이블은 이러합니다.CREATE TABLE myhero ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(20), class INT NOT NULL, intelligence INT, strength INT, speed INT, durability INT, power INT, tier CHAR(5), PRIMARY KEY(id)); 데이
newj23.tistory.com](https://newj23.tistory.com/10)
여기서 만들었던 myhero 테이블을 그대로 이용해 볼게요 😌
ORDER BY
Syntax
SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC|DESC;
- 예시 : tier가 '0+'인 값들을 durability 내림차순으로 정렬
SELECT id, name, durability FROM myhero WHERE tier = '0+' ORDER BY durability DESC;
- SELECT절에서 가져온 컬럼의 컬럼 번호로 정렬 가능
SELECT id, name, durability FROM myhero WHERE tier = '0+' ORDER BY 3 DESC; -- 위와 같은 결과
순위 함수
기본 특징
- OVER()와 함께 사용
- ORDER BY 절을 기준으로 순위를 지정
Syntax
SELECT column, RANK() OVER (ORDER BY column) FROM table_name;
RANK()
: 동일한 값이 있는 경우 동일 순위 할당하고 다음 순위 건너뜀.DENSE_RANK()
:RANK()
와 동일하지만 다음 순위 건너뛰지 않음.ROW_NUMBER()
: 동일한 값 신경쓰지 않음. 차례대로 행 번호를 붙이는 것과 같은 역할.
SELECT name,
RANK() OVER (ORDER BY intelligence DESC) _rank,
DENSE_RANK() over(ORDER BY intelligence DESC) _dense_rank,
ROW_NUMBER() over(ORDER BY intelligence DESC) _row_number
FROM myhero;
반응형
'Database > MySQL' 카테고리의 다른 글
[MySQL] 조건문 - IF / IFNULL / CASE~WHEN (0) | 2024.10.10 |
---|---|
[MySQL] 데이터 그룹화 - GROUP BY / HAVING (0) | 2024.10.10 |
[MySQL] 문자열 함수 / 숫자 함수 / 날짜, 시간 함수 (0) | 2024.10.10 |
[MySQL] 데이터 생성, 읽기, 수정, 삭제 - INSERT / SELECT / UPDATE / DELETE (0) | 2024.10.10 |
[MySQL] MySQL 시작하기 - 데이터베이스, 테이블 생성 / 삭제 / 변경 (0) | 2024.10.08 |