SELECT
U.USER_ID,
U.NICKNAME,
CONCAT(U.CITY, ' ', U.STREET_ADDRESS1, ' ', COALESCE(U.STREET_ADDRESS2, '')) AS 전체주소,
CONCAT(SUBSTRING(U.TLNO, 1, 3), '-', SUBSTRING(U.TLNO, 4, 4), '-', SUBSTRING(U.TLNO, 8)) AS 전화번호
FROM
USED_GOODS_USER U
JOIN
USED_GOODS_BOARD B ON U.USER_ID = B.WRITER_ID
GROUP BY
U.USER_ID, U.NICKNAME, U.CITY, U.STREET_ADDRESS1, U.STREET_ADDRESS2, U.TLNO
HAVING
COUNT(B.BOARD_ID) >= 3
ORDER BY
U.USER_ID DESC;
CONCAT 함수:
두 개 이상의 문자열을 하나의 문자열로 연결하는 데 사용
CONCAT(문자열1, 문자열2, ...)
- 문자열1, 문자열2, ...: 연결하려는 여러 문자열입니다. 쉼표로 구분된 여러 문자열을 제공할 수 있습니다.
GROUP BY 절:
하나 이상의 열 값에 기반하여 행을 그룹화하는 데 사용
지정된 열을 기준으로 행을 그룹화하여 각 그룹에 대해 집계 작업을 수행
SELECT 열1, 집계_함수(열2), ... FROM 테이블 GROUP BY 열1;
- 열1, 열2, ...: 선택하거나 집계하려는 열입니다.
- 집계_함수: 하나 이상의 열에 적용되는 집계 함수입니다(COUNT, SUM, AVG 등).
GROUP BY U.USER_ID, U.NICKNAME, U.CITY,
U.STREET_ADDRESS1, U.STREET_ADDRESS2, U.TLNO
이렇게 하면 USED_GOODS_USER 테이블의 지정된 열을 기준으로 결과가 그룹화됩니다.
결과 세트는 이러한 열의 고유한 조합으로 구성되며 각 그룹에 대해 집계 함수(예: HAVING 절의 COUNT)를 적용할 수 있습니다.
'ㅋㅌ' 카테고리의 다른 글
비트 연산자로 2의 거듭제곱 확인하기 (2) | 2024.01.03 |
---|---|
[SQL] 중복 없애기 DISTINCT (0) | 2023.12.31 |
수열과 구간 쿼리 4 (0) | 2023.12.27 |
lastIndexOf() (0) | 2023.12.25 |
substring, charAt (0) | 2023.12.22 |