Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- level2
- 로그인성공
- Python
- 파이썬
- python개발자찾기
- 자료구조
- PPCP
- PCCE
- 청년인재
- 데이터분석청년인재
- 있었는데요
- 공공데이터분석
- 재귀
- 유연 근무제
- 알고리즘
- 부모의 형질을 가지는 대장균 찾기
- 연속된 부분 수열의 합
- 대여기록이 존재하는 자동차 리스트
- 백준
- pcce 기출
- 프로그래머스
- 자동차 평균 기간 구하기
- 낮은 상관관계
- MySQL
- 이웃한칸
- prefix_sum
- silver 5
- 공공데이터분석청년인재
- 데이터분석
- 최소값 만들기
Archives
- Today
- Total
데이터 저장소
[프로그래머스] 조건에 맞는 사용자 정보 조회하기(MYSQL) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/164670
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📄문제
📝 코드
# INNER JOIN 활용
SELECT
U.USER_ID,
U.NICKNAME,
CONCAT_WS(' ',U.CITY,U.STREET_ADDRESS1,U.STREET_ADDRESS2) AS '전체주소',
CONCAT_WS('-', SUBSTRING(U.TLNO,1,3), SUBSTRING(U.TLNO,4,4), SUBSTRING(U.TLNO,8)) AS '전화번호'
FROM USED_GOODS_USER AS U
INNER JOIN USED_GOODS_BOARD AS B ON B.WRITER_ID = U.USER_ID
GROUP BY B.WRITER_ID
HAVING COUNT(B.WRITER_ID) >= 3
ORDER BY U.USER_ID DESC
- CONCAT_WS( ) 함수를 활용하여 문자열을 합침
- SUBSTRING() 함수를 활용하여 전화번호를 나눔
- GROUP BY와 HAVING 구문을 활용하여 중고거래 게시물 3건 이상을 추출함
-> 그룹별 집계된 결과 중 조건을 필터링하기 위해 HAVING절을 사용함
CONCAT( ) 과 CONCAT_WS( )의 차이점
- CONCAT( ) : 엑셀의 CONCAT 함수와 같은 기능을 하는 함수
- CONCAT_WS( ) : 특정 구분자와 함께 문자열을 이어주는 함수
첫번째 인자에 구분자를 넣어주면 글자마다 구분자로 구분해서 결과값이 나옴
📝 다른 풀이
# 서브쿼리 활용
SELECT
USER_ID,
NICKNAME,
CONCAT(CITY,' ',STREET_ADDRESS1,' ',STREET_ADDRESS2) AS '전체주소',
CONCAT(SUBSTR(TLNO,1,3),'-',SUBSTR(TLNO,4,4),'-',SUBSTR(TLNO,8,4)) AS '전화번호'
FROM
USED_GOODS_USER
WHERE
USER_ID IN
(
SELECT
WRITER_ID
FROM
USED_GOODS_BOARD
GROUP BY
WRITER_ID
HAVING
COUNT(*) >= 3
)
ORDER BY
USER_ID DESC
728x90
'SQL' 카테고리의 다른 글
[프로그래머스] 조건에 부합하는 중고거래 상태 조회하기(MYSQL) (0) | 2023.07.26 |
---|---|
[프로그래머스] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(MYSQL) (0) | 2023.07.17 |
[프로그래머스] 있었는데요 없었습니다.(MYSQL) (0) | 2023.07.15 |
[프로그래머스] 대여 기록이 존재하는 자동차 리스트 구하기(MYSQL) (0) | 2023.07.14 |
[프로그래머스] 자동차 평균 대여 기간 구하기(MYSQL) (0) | 2023.07.13 |