여러 컬럼 중 null값이 아닌 값 가져오기
안녕하세요 질문 드립니다!
A 1 2 3 null 5 null null null 7
이렇게 A라는 항목에 한해서 9개의 컬럼이 있는데 중간 중간 null 값이 있는 경우 이전 값들 중 최근 값을 가져오게끔 하는 방법이 있을까요?
위 예시로, 빨간색 null 값은 3이 나와야되고
7 전의 null 값 3개에 대해서는 5, 5, 5 이렇게 나오게끔 하고싶습니다
답변 1
0
안녕하세요?
질문해 주셔서 감사합니다~
간단하게 아래와 같이 예제를 만들어 봤습니다.
COALESCE() 함수를 사용하면 됩니다.
참고하시기 바랍니다.
-- 테이블 만들기
CREATE TABLE Test (
name varchar(10),
val01 int,
val02 int,
val03 int,
val04 int,
val05 int,
val06 int,
val07 int,
val08 int,
val09 int
);
-- 데이터 추가
INSERT INTO Test VALUES('A', 10, 20, 30, NULL, 50, NULL, NULL, NULL, 90);
-- 조회
SELECT name,
val01,
COALESCE(val02, val01) AS val02,
COALESCE(val03, val02, val01) AS val03,
COALESCE(val04, val03, val02, val01) AS val04,
COALESCE(val05, val04, val03, val02, val01) AS val05,
COALESCE(val06, val05, val04, val03, val02, val01) AS val06,
COALESCE(val07, val06, val05, val04, val03, val02, val01) AS val07,
COALESCE(val08, val07, val06, val05, val04, val03, val02, val01) AS val08,
COALESCE(val09, val08, val07, val06, val05, val04, val03, val02, val01) AS val09
FROM Test;
/*
name val01 val02 val03 val04 val05 val06 val07 val08 val09
-----------------------------------------------------------------------------
A 10 20 30 30 50 50 50 50 90
*/감사합니다~
간단한 오타 제보입니다.
0
3
0
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
19
1
실제 FK제약조건을 설정하지 않는이유
0
19
1
create view
0
121
2
json 배열 파싱
0
185
2
insert into 구문
0
171
2
PDF 자료 문의
0
140
2
집계 연산자에 대한 질문
0
125
1
array_agg 배열 해제
0
196
2
null 수강 관련 문의
0
108
1
테이블 생성 후 조건 수정 방법
0
265
2
주차별 데이터에서 전 주 데이터 가져오기
0
180
1
누적 백분위 구하기 질문
0
731
1
Join 질문
0
174
1
pdf 문의드립니다
1
188
1
regexp like 에 특정 특수기호 포함
1
356
1
컬럼 안 공백 문자열 제외
1
226
1
USING 조인 질문드립니다.
0
312
2
JOIN함수 질문입니다.
1
261
1
ELT 함수와 FIELD함수 질문입니다.
0
313
1
뷰 변경 질문입니다.
0
335
2
[질문] 3. '다양한 데이터 집계 _ 심각할 수 있는 집계 함수와 NULL값의 관계' 수업 내용 질문
0
224
1
대문자 질문입니다!
0
206
1
mysql 설치 오류로 학습 불가
0
234
1





