05. 원하는 데이터 만들기
1. 데이터 줄 세우기 ORDER BY
ORDER BY 컬럼명 (ASC) => 오름차순 정렬. ASC는 기본값이라 생략 가능
ORDER BY 컬럼명 DESC => 내림차순 정렬
만약 여러컬럼으로 정렬하고 싶다면?
ORDER BY 컬럼1 오름차순or내림차순 , 컬럼2 오름차순or내림차순 ;
=> 순서대로 컬럼1 기준으로 정렬, 컬럼1 값이 동일하다면 컬럼2 값으로 정렬
칼럼이 너무 길땐 칼럼 인덱스로 대체해서 표현 가능
SELECT number, name, attack defense
1 2 3 4
FROM mypokemon
ORDER BY 3 DESC, 4;
=> 3번 컬럼인 attack을 기준으로 내림차순 정렬한 후, 값이 동일하면 4번 컬럼인 defense를 기준으로 오름차순 해라
2. 순위 만들어서 보여주기
1) RANK
SELECT 컬럼명, ,,,, , RANK() OVER (ORDER BY 컬럼명)
FROM 테이블명
WHERE 조건식;
ORDER BY 컬럼에 있는 컬럼을 기준으로 정렬한 후 순위를 매겨 새로운 칼럼으로 보여줌
이때 실제 테이블을 수정하는 것은 아님!!!!
2) DENSE_RANK
SELECT 컬럼명, ,,,, , DENSE_RANK() OVER (ORDER BY 컬럼명)
FROM 테이블명
WHERE 조건식;
3) ROW_NUMBER
SELECT 컬럼명, ,,,, , ROW_NUMBER() OVER (ORDER BY 컬럼명)
FROM 테이블명
WHERE 조건식;
사용방법은 두 방법 모두 RANK와 완전 동일.
3가지 방법은 어떻게 다를까?
RANK는 공동순위가 있다면 다음순위를 건너뛰고 순위를 매긴다
DENSE_RANK는 공동순위가 있어도 다음순위를 건너뛰지 않음
ROW_NUMBER는 값이 같아도 공동 순위를 매기지 않음. 그냥 정렬 순서대로 로우에 순서를 매김.
3. 문자형 데이터를 다루는 함수
4. 숫자형 데이터를 다루는 함수
5. 날짜 데이터를 다루는 함수
'패스트캠퍼스 데이터 분석 부트캠프' 카테고리의 다른 글
[SQL 기초 문법] 테이블 합치기, JOIN 6개 유형 작성방법, INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN (0) | 2024.04.10 |
---|---|
[SQL 기초 문법] 데이터 그룹화하기, 규칙 만들기, GROUP BY, HAVING, IF, CASE, CREATE FUNCTION (0) | 2024.04.09 |
[SQL 기초 문법] 데이터 가져오기 SELECT, FROM, AS, LIMIT, WHERE, DISTINCT 등 (0) | 2024.04.04 |
[파이썬] 데이터 전처리 (0) | 2024.03.13 |
[파이썬] 주피터 노트북 단축키 및 기본 문법 (0) | 2024.03.08 |