sqlserver 3

[TIL] CASE WHEN을 활용해 SELECT절에서 데이터 필터링하기 #SQL #SQLite #solvesql

solvesql - 가구 판매의 비중이 높았던 날 찾기👉 문제 바로가기(solvesql)-- -- 일별 주문 수가 10개 이상인 날 중-- ‘Furniture’ 카테고리 주문의 비율이 40% 이상 이었던 날-- Furniture 카테고리의 주문 비율은 백분율로 계산하며, 반올림하여 소수점 둘째자리까지만 출력-- Furniture 카테고리의 주문 비율 내림차순, 날짜 순 정렬-- -- 1) 임시테이블 생성, 서브쿼리로 해결WITH tmp AS ( SELECT t1.order_date, t2.order_id, t2.category FROM (SELECT order_date FROM records GROUP BY order_date ..

DA Study/TIL 2025.03.02

[TIL] 윈도우 함수 DENSE_RANK()를 활용한 TOP N 데이터 추출하기 #SQL #SQLite #solvesql

solvesql - 레스토랑 요일 별 구매금액 Top 3 영수증👉 문제 바로가기(solvesql)-- 월별 TOP3 영수증 출력SELECT t1.day, t1.time, t1.sex, t1.total_billFROM (SELECT DENSE_RANK() OVER (PARTITION BY day ORDER BY total_bill DESC) as rnk, day,time,sex,total_bill FROM tips) t1WHERE t1.rnk in (1,2,3)[ 논리 과정 ]total_bill 기준으로 누적 순위 산출한 테이블 생성해당 테이블 서브쿼리로 요일별 TOP3 데이터만 조회[ 문제 상황 ]동점자를 같은 순위로 매기는 누적 순위를 산출해야 한다.해당 순위로 동점자까지 포함..

DA Study/TIL 2025.02.26

[TIL] CASE WHEN 구문으로 PIVOT 테이블 만들기 #SQL #SQLite #solvesql

solvesql - 지역별 주문의 특징👉 문제 바로가기(solvesql)-- 자역별, 특정 카테고리별 주문 건수SELECT t1.region as Region, COUNT(DISTINCT t1.Furniture) as 'Furniture', COUNT(DISTINCT t1.Office_Supplies) as 'Office Supplies', COUNT(DISTINCT t1.Technology) as 'Technology'FROM (SELECT region, CASE WHEN category == 'Furniture' THEN order_id END as 'Furniture', CASE WHEN category == 'Office Supplies' THEN order_id END..

DA Study/TIL 2025.02.20