본문 바로가기

728x90

SQL

(56)
[sqlite] 가구 판매의 비중이 높았던 날 찾기 solvesql https://solvesql.com/problems/day-of-furniture/ https://solvesql.com/problems/day-of-furniture/ solvesql.com select order_date,count(DISTINCT(case when category = 'Furniture' then order_id end)) as furniture,round(count(DISTINCT(case when category = 'Furniture' then order_id end)) * 1.0 / count(DISTINCT(order_id)) * 100,2) as furniture_pctfrom records group by order_datehaving count(DISTINCT(or..
쇼핑몰의 일일 매출액과 ARPPU https://solvesql.com/problems/daily-arppu/ https://solvesql.com/problems/daily-arppu/ solvesql.com select date(order_purchase_timestamp) as dt , count(distinct(customer_id)) as pu , sum(payment_value) as revenue_daily , round(sum(payment_value) / count(DISTINCT(customer_id)),2) as arppu from olist_orders_dataset o join olist_order_payments_dataset p on o.order_id = p.order_idwh..
지역별 주문의 특징 solvesql https://solvesql.com/problems/characteristics-of-orders/ https://solvesql.com/problems/characteristics-of-orders/ solvesql.com select region as Region,count(distinct(case when category='Furniture' then order_id end)) as 'Furniture',count(distinct(case when category='Office Supplies' then order_id end)) as 'Office Supplies',count(distinct(case when category='Technology' then order_id end)) as 'T..
solvesql 레스토랑 웨이터의 팁 분석 https://solvesql.com/problems/characteristics-of-orders/ https://solvesql.com/problems/characteristics-of-orders/ solvesql.com 코드부터 보여주자면 select day , time , round(avg(tip),2) as avg_tip , round(avg(size),2) as avg_sizefrom tipsgroup by day, timeorder by day, time 난 처음에 요일, 시간별로 알파벳으로 정렬하라고 해서 order by 에다가 case when문 잔뜩 넣었는데 아니였음 ㅋㅋㅋ;;
mysql 비율 구할 때 주의점 정수 나눗셈 select round((select COUNT(*) * 1.0 from artworks where credit like "%gift%") / count(*) ,3) as ratiofrom artworks 방금 코테 문제 풀다가 생긴 문제였다. 문제 자체는 컬럼에 gift 가 들어간 컬럼의 전체 비율을 구하는 문제라 쉬웠다.하지만 결과는 "0" 이 나옴 ⚠️ 원인: SQL의 정수 나눗셈 (Integer Division)SQL에서 COUNT(*)는 **정수(INTEGER)**를 반환합니다. 이때 정수끼리 나누면 결과도 정수가 됩니다.예를 들어:5 / 100 → 0 (정수 나눗셈)20 / 100 → 0120 / 1000 → 0소수점이 날아가 버림 ✅ 해결법: 실수형(소수)으로 강제 변환하기정수 나눗셈을 방지..
mysql 이스케이프 ESCAPE 특정문자 제외하기 \ , _ 간단하게 설명 sql에서 문자열 검색할 때 많이 사용하는 like절✅ LIKE 절의 특수문자: %와 _LIKE에서는 두 가지 특수문자가 있습니다:특수문자의미%0개 이상의 문자와 일치 (와일드카드)_정확히 1개의 문자와 일치 SELECT * FROM users WHERE name LIKE 'a%'; -- 'a'로 시작하는 이름SELECT * FROM users WHERE name LIKE 'a_'; -- 'a' + 임의의 한 글자 만약에 DB내에 주소가 들어가있고, 그 주소 내에서 "_" 가 들어간 주소를 찾고싶다면? SELECT * FROM users WHERE name LIKE '%_%'; 하지만 이러면 _ 언더하이픈 같은 경우엔 like 절에선 "한 글자"를 의미하므로 틀렸다.like에서 "_" 나 "%" 와 ..
[mysql] FrontEnd 개발자 찾기 문제 설명SKILLCODES 테이블은 개발자들이 사용하는 프로그래밍 언어에 대한 정보를 담은 테이블입니다. SKILLCODES 테이블의 구조는 다음과 같으며, NAME, CATEGORY, CODE는 각각 스킬의 이름, 스킬의 범주, 스킬의 코드를 의미합니다. 스킬의 코드는 2진수로 표현했을 때 각 bit로 구분될 수 있도록 2의 제곱수로 구성되어 있습니다.NAME TYPE UNIQUE NULLABLENAMEVARCHAR(N)YNCATEGORYVARCHAR(N)NNCODEINTEGERYNDEVELOPERS 테이블은 개발자들의 프로그래밍 스킬 정보를 담은 테이블입니다. DEVELOPERS 테이블의 구조는 다음과 같으며, ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_CODE는 각각 ..
[mysql] 우유와 요거트가 담긴 장바구니 문제 설명CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가격을 나타냅니다.NAME TYPEIDINTCART_IDINTNAMEVARCHARPRICEINT데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다.예시예를 들어 CART_PRODUCTS 테이블이 다음과 같다면CART_PRODUCTS 테이블ID CART_ID NAM..

728x90