TIL/SQL

TIL (7/15) <두 개의 컬럼으로 그룹화하기, 조건에 맞는 사용자 조회하기>

jojoon2786 2024. 7. 15. 19:29

 

select user_id, product_id
from online_sale
group by user_id, product_id
having count(product_id) >= 2
order by user_id, product_id desc

똑같은 user_id가 똑같은 product_id를 재구매 한 데이터를 찾아야해서 조건을 어떻게 줘야할 지 고민했다.

group by user_id, product_id 하면 파이썬의 튜플 개념으로 user_id와 product_id의 쌍으로 그룹화를 한다는 것을 배웠다,

 

 

나의 풀이)

select distinct b.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_board a join used_goods_user b on a.writer_id = b.user_id
where a.writer_id in (select a.writer_id
from used_goods_board a join used_goods_user b on a.writer_id = b.user_id
group by a.writer_id
having count(writer_id) >= 3)
order by b.user_id desc

where 절에 서브쿼리를 주어 글을 세개 이상 쓴 조건을 만족하는 writer_id를 데이터 베이스에서 조회하였다.

'TIL > SQL' 카테고리의 다른 글

DBMS  (0) 2024.07.16
TIL (7/16) <join>  (0) 2024.07.16
TIL (7/12) <group by, having, 서브쿼리를 사용하는 이유>  (2) 2024.07.12
TIL (7/11) <Round(), div>  (0) 2024.07.11
TIL #3 < join(SQL), NULL처리, Pivot table, Window function>  (0) 2024.06.28