
mysql에서는 LIMIT 함수를 통해 상위 n개 조회가 가능oracle에서는 이것이 불가능 ==> rownum을 통해 상위 n개를 조회이 때 주의할 점이, sql은 아래의 순서로 진행된다는 점임FROM - WHERE - GROUP BY - HAVING - SELECT
처음엔 distinct를 사용하지 않았었는데, 물론 user_id는 웬만하면 unique key를 주겠지만, 혹시 모르니 disticnt까지 써주는 게 논리적으로 더 적절한 코드라고 생각.처음엔 DATE 함수를 쓰지 않고, 어차피 날짜 데이터니까 substr(creat
https://school.programmers.co.kr/learn/courses/30/lessons/59408count(칼럼명) -> count(distinct 칼럼명)으로 중복 제거 효과 가능https://school.programmers.co.
Q1. 각 직원의 이름, 부서, 월급, 그리고 그 직원이 속한 부서에서 가장 높은 월급을 받고 있는 직원의 이름과 월급을 조회하는 SQL 쿼리를 작성해주세요. 처음에는 max()와 group by를 사용해서 부서별 최고 월급 직원을 뽑고 emp 테이블이랑 적당히 합치려
보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성

상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요. (링크)동물 보호소에 들어온 동물 중 이름이 Lucy,

ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서
어제 몇개라도 하려고 했는데 데일리루틴 페이지가 접속이 안 되어서 포기...데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세
2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 \* 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 S

ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL
CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터

CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '트럭'인 자동차의 대여 기록에 대해서 대여 기록 별로 대여 금액

USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문

77번. Recyclable and Low Fat ProductsWrite a solution to find the ids of products that are both low fat and recyclable. (링크) low_fats 테이블에서 Y는 low fat이
(링크)초안difftime이 음수가 나왔다2안구해야 할 것1) 동일 machine_id, process_id일 때 end와 start의 시간 차이 (단위 second)activity_type이 start인 값들과 activity_type이 end인 값들을 따로 분리해서

코드카타를 진행하면서,배운 적 없는 함수를 사용하는 건 분명 아닌데 나에게 처음으로 좌절을 주었던 문제.CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOU

사실 이 문제를 처음 풀 때는 그냥 아무 생각 없이 가장 많이 작성한 회원이 단 1명이라는 가정을 하고 풀었다.그런데 이번에 조원분들과 스터디를 하기 위해 다시 데이터를 뜯어보니, 1명이 아닌 3명이 3회로 공동 1위를 달리고 있었다.그래서 보다 본질적인 의미에서, 문

75번. 자동차 대여 기록 별 대여 금액 구하기CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '트럭'인 자동차의
(링크)signups 테이블 : USER_ID와 사용자들이 sign up한 시간이 입력되있음confirmations 테이블 : (user_id, time_stamp) 형태의 PK. action 컬럼에 confirmed, timeout 값이 입력되어 있음confirmat

Write a solution to find the average selling price for each product. average_price should be rounded to 2 decimal places. If a product does not have a

76번. 상품을 구매한 회원 비율 구하기USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원

링크Write a solution to report the fraction of players that logged in again on the day after the day they first logged in, rounded to 2 decimal places.
105번. Customers Who Bought All Products(링크)Write a solution to report the customer ids from the Customer table that bought all the products in the Pro
"Low Salary": All the salaries strictly less than $20000."Average Salary": All the salaries in the inclusive range $20000, $50000."High Salary": All t
You are the restaurant owner and you want to analyze a possible expansion (there will be at least one customer every day).Compute the moving average o

Write a solution to find the users who have valid emails.A valid e-mail has a prefix name and a domain where:1) The prefix name is a string that may c
Employees can belong to multiple departments. When the employee joins other departments, they need to decide which department is their primary departm

The ReportYou are given two tables: Students and GradesKetty gives Eve a task to generate a report containing three columns: Name, Grade and Mark. Ket
수포자들은 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3
176번. SQL Project PlanningWrite a query to output the start and end dates of projects listed by the number of days it took to complete the project in
A60. 기사단원의 무기숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고(limit),

해당 문제는 문제가 너무 길기도 하고, 그만큼 풀이 과정도 길기 때문에 새로 알게된 점을 중심으로 정리하고자 한다.당신은 이커머스 회사 ’루팡(주)’의 고객 코호트 분석팀에 속해 있습니다. 이번 분석의 목표는 2011년 12월에 첫 주문을 한 고객에 대해, 여러 연도별
A63. 짝꿍두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다.X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은
advent S7: 기증품 비율 계산하기artworks 테이블에서는 MoMA가 소장한 작품의 정보가 있습니다. 작품 정보 중 credit 컬럼에 'gift'라는 단어가 등장하는 작품은 MoMA가 다른 사람이나 단체로 부터 기증 받은 기증품이라는 뜻입니다.소장품 중 부분

advent S11: 서울숲 요일별 대기오염도 계산하기(생략)평소보다 알고리즘스럽게 푼 문제였기에 기억이 남았다오라클 / MYSQL 날짜별 요일 구하는 법strftime 함수를 사용하여 날짜 및 시간 조회날짜 관련 함수는 어떤 SQL툴을 사용하고 있냐에 따라 방식이 너
최근 특정 사용자들이 결제를 하지 않고 상품을 주문하거나, 결제를 하지 않은 시점에 이미 상품을 주문하는 버그가 발견되었습니다. 🐞 해당 버그를 악용한 사용자를 파악하기 위해 SQL 문을 작성해주세요. 처음에는 WITH문을 3개 사용하여 코드를 작성했는데,WHERE절

advent S14 전력 소비량 이동 평균 구하기(생략)\-SQL에서 이동평균 구현하는 법\-\[SQLP] 분석함수,윈도우함수 RANGE / UNBOUNDED PRECEDING / CURRENT ROW / UNBOUNDED FOLLOWING이 문제의 핵심은 각각의 ro
Weather Observation Station 20A median is defined as a number separating the higher half of a data set from the lower half. Query the median of the No

전국 카페 주소 데이터 정제하기python에서는 split() 함수로 쉽게 할 수 있었지만, sql에서는 (적어도 sqlite에서는) split 함수가 없다그렇기에 다소 우회적인 방법을 택할 수 밖에 없었는데, instr() 함수로 특정 구분자의 index값을 받고,

advent S12 3년간 들어온 소장품 집계하기(자세한 문제는 생략)문제 난이도가 2라고 적혀있는 것에 비하면 꽤나 시간과 고민이 많이 필요했던 문제였다.풀이 단계를 나누자면 아래의 4개 단계로 정리할 수 있겠다.일단 문제에서 요구하는 데이터는 굉장히 적다.artwo

advent S13 게임 개발사의 주력 플랫폼 찾기(자세한 문제는 생략)해당 문제에서 사용되는 테이블은 platforms, companies, games로 3개이다사실 platforms, companies는 마지막에 id를 받아서 이름만 출력해주면 되기에 일단 차치해두

advent S21 세션 유지 시간을 10분으로 재정의하기(자세한 문제는 생략)event가 발생한 시간들이 기록되어 있다.기존에는 시간의 차이가 30분 이상일 때 session_id가 변경되었는데이걸 10분 이상 차이가 날 때 변경되도록 하고자 한다.new_sessio

advent S24 세 명이 서로 친구인 관계 찾기세 명이 오리라(자세한 문제는 생략)edges 테이블에서 동일한 row에 있는 A와 B는 친구이다해당 테이블은 이미 A < B로 정리가 되어 있다 (따라서, 문제에서 요구하는 "중복된 세 친구 관계를 제외하기 위해

advent S16 스테디셀러 작가 찾기(자세한 문제는 생략)books 테이블은 아마존 쇼핑몰의 2009~2019년 판매량 상위 50개의 책 정보가 담긴 테이블이다이 중에서 5년 이상 연속으로 베스트셀러 목록에 올라간 작가를 모아 소설 스테디셀러 작가 특별전을 열고자

A71. 개인정보 수집 유효기간개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다.예를 들어, A라는 약관의 유효

3번고객의 첫 주문 월을 기준으로 Cohort 그룹을 만들고, 각 Cohort 그룹에서 시간이 지남에 따라 활성 사용자 수를 계산하는 SQL 문을 작성하세요.USER_COUNT_1_MONTH_LATER ~ USER_COUNT_12_MONTH_LATER 까지 계산해야 합

A72. 달리기 경주(상략) 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. (중략) 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로
Leetcode 176 : Second Highest SalaryEmployee 테이블에서 2번째로 높은 Salary를 찾는 문제만약 2번째로 높은 값이 없다면 null을 반환해야 한다이 문제를 처음 접했을 때 가장 먼저 구상했던 풀이 방법이다.row_number()

지역별 주문의 특징미국의 각 지역별로 어떤 카테고리의 상품이 많이 판매되는지 알아보려고 합니다. region, category 별 주문량을 계산해 출력하는 쿼리를 작성해주세요.결과 데이터는 아래와 같은 테이블 형태로 출력되어야 하고, Region 컬럼 기준 오름차순으로

세션 재정의하기GA는 30분 이상 사용자가 행동하지 않을 때 세션을 종료하는데, 사용자들의 페이지 체류 시간이 증가했기 때문에 이 기준을 1시간으로 늘리려고 합니다.세션을 종료하는 기준을 사용자가 1시간 이상 행동하지 않을 때로 수정하여, 사용자 'S3WDQCqLpK’

https://sqlzoo.net/wiki/Self_joinFind the routes involving two buses that can go from Craiglockhart to Lochend.Show the bus no. and company for t

https://school.programmers.co.kr/learn/courses/30/lessons/59413보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 S

문제 > 폐쇄할 따릉이 정류소 구하기 2 당신은 정류소 정보가 담겨있는 station 테이블과 대여 기록이 담겨 있는 rental_history 테이블을 확인해 폐쇄를 검토할 따릉이 정류소 목록을 추려내는 업무를 받았습니다. 2019년 10월 한 달 동안 정류소에서 발

Print Prime NumbersWrite a query to print all prime numbers less than or equal to 1000. Print your result on a single line, and use the ampersand (&)
1174\. Immediate Food Delivery IIIf the customer's preferred delivery date is the same as the order date, then the order is called immediate; otherwis

3465\. Find Products with Valid Serial Numbersdescription에 아래 조건에 맞는 시리얼 번호가 있는 경우만 필터링하라SN으로 시작한다이어서 4자리 숫자가 등장한다이어서 하이픈(-)이 나오고 그 뒤에 4자리 숫자가 따라온다des
585\. Investments in 2016Write a solution to report the sum of all total investment values in 2016 tiv_2016, for all policyholders who:(1) have the sa