[프로그래머스] MySQL / 조건에 맞는 사용자 정보 조회하기

2024. 1. 8. 16:05Coding/프로그래머스-SQL

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/164670

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 

 

코드 

-- 코드를 입력하세요
SELECT DISTINCT(B.USER_ID), B.NICKNAME,
CONCAT(B.CITY, ' ', B.STREET_ADDRESS1, ' ', B.STREET_ADDRESS2) AS '전체주소',
CONCAT(LEFT(B.TLNO, 3), "-", SUBSTRING(B.TLNO, 4, 4), "-", RIGHT(B.TLNO, 4)) AS '전화번호'
FROM USED_GOODS_BOARD A 
JOIN USED_GOODS_USER B ON A.WRITER_ID = B.USER_ID
GROUP BY A.WRITER_ID
HAVING COUNT(A.WRITER_ID) >= 3
ORDER BY B.USER_ID DESC;

1. CONCAT() 함수를 이용해서 문제의 결과 예시처럼 포맷을 구성해준다. 

2. 사용자 별로 구분이 가야 하므로 GROUP BY 절에서 WRITER_ID로 묶어준다.

3. 중고 거래 게시물을 3건이상 작성해야 했다고 했으므로 HAVING 절에서 WRITER_ID에 대한 조건을 넣어준다.