같은 넘버를 기준으로 첫번째 항목을 다르게 표기하고 싶습니다. 0 2 1,193

by 마르스헤븐 [SQL Query] [2022.09.06 09:39:07]


안녕하세요. 태풍에 비피해는 없으신가요? 

계속 고민하다가 도저히 잘 몰라서 염치 불구 하고 다시 질문 드립니다.

id number ymd name title
1 50692 2022-07-18 김철수 테스트1
2 50692 2022-07-18 김철수 테스트2
3 50692 2022-07-18 김철수 테스트3
4 50692 2022-07-18 김철수 테스트4
5 50692 2022-07-18 김철수 테스트5
6 50692 2022-07-18 김철수 테스트6
7 50692 2022-07-18 김철수 테스트7
8 50692 2022-07-18 김철수 테스트8
9 52084 2022-08-12 이철수 이철수 테스트
10 53190 2022-08-31 김영희 김영희 테스트

이 테이블 에서 

같은 넘버를 기준으로 이렇게 표기를 하고 싶은데 어떻게 해야 할지 모르겠습니다. 

id number ymd name title numberCheck
(같은 넘버를 기준으로  첫번째)
1 50692 2022-07-18 김철수 테스트1 t
2 50692 2022-07-18 김철수 테스트2 f
3 50692 2022-07-18 김철수 테스트3 f
4 50692 2022-07-18 김철수 테스트4 f
5 50692 2022-07-18 김철수 테스트5 f
6 50692 2022-07-18 김철수 테스트6 f
7 50692 2022-07-18 김철수 테스트7 f
8 50692 2022-07-18 김철수 테스트8 f
9 52084 2022-08-12 이철수 이철수 테스트 t
10 53190 2022-08-31 김영희 김영희 테스트 t

디비는 

Oracle Database 12c Release 12.1.0.1.0 - 64bit Production과  PostgreSQL 10.7를 사용하고 있습니다. 

항상 감사드립니다. 늘 건강하세요.


 

 

 

 

 

 

 

 

by 마농 [2022.09.06 09:58:00]
-- number 와 같은 시스템 예약어를 명칭으로 사용하는 것은 좋지 않습니다.
SELECT id, num, ymd, name, title
     , CASE ROW_NUMBER() OVER(PARTITION BY num ORDER BY id)
       WHEN 1 THEN 't' ELSE 'f' END numberCheck
  FROM t
;

 


by 마르스헤븐 [2022.09.06 10:12:36]

마농님 너무 감사드립니다.

늘 배우고 갑니다. 추석 연휴 잘보내시고 늘 건강에 유의하세요. 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입