Development

LV.3 헤비 유저가 소유한 장소문제이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요.해설추출해야할 것 id, name, host_id조건 공간을 2개 이상 소유한 호스트 건정렬 X 1. host_id로 GROUP BY HAVING으로 2건 이상인 건들만 가져온다2. 해당 절에서 host_id만 추출하여 서브쿼리로 만든다3. 메인쿼리에서 host_id에 해당하는 건들만 가져온다 이를 구현한 코드는 아래와 같다SELECT * FROM PlacesWHERE host_id in (SELECT host_id FROM PlacesGROUP BY host_idHAVING COUNT(id) >= 2) Goodht..
LV.2 중성화 여부 파악하기 문제 보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요. 해설 추출해야할 것 animal_id, name, 중성화 여부 조건 "Neutered"나 Spayed가 포함된 중성화 개체는 "O"표시 정렬 animal_id ASC 1. SELECT 절에 CASE WHEN 절을 쓰면된다 2. 조건을 걸 때 문자열 일치가 아닌 포함 여부이기 때문에 LIKE "%string%"을 쓰는 것을 잊지말자 3. animal..
LV.4 우유와 요거트가 담긴 장바구니 문제 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 해설 추출해야할 것 cart_id 조건 한 카트에 우유와 요거트가 동시에 담긴 건 정렬 cart_id ASC 1. 예외를 먼저 생각해보자. 장바구니에 정직하게 Milk와 Yogurt가 하나씩 담겨있진 않을 것이다. - Milk, Milk, Yogurt의 조합이 충분히 가능하다 2. 어쨌든 우유와 요거트가 몇 건이든 담겨있기만 하면되니까 카트별로 중복 아이템 제거를 해도 문제가 없다 3. DISTINCT cart_..
LV.3 헤비 유저가 소유한 장소 문제 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요. 해설 추출해야할 것 id, name, host_id 조건 공간을 2개 이상 소유한 호스트 건 정렬 X 1. host_id로 GROUP BY HAVING으로 2건 이상인 건들만 가져온다 2. 해당 절에서 host_id만 추출하여 서브쿼리로 만든다 2. 메인쿼리에서 host_id에 해당하는 건들만 가져온다 이를 구현한 코드는 아래와 같다 SELECT * FROM Places WHERE host_id in (SELECT host_id FROM Places GROUP BY host_id HAVING COUNT(id) ..
LV1. 자동차 대여 기록에서 장기/단기 대여 구분하기 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. 해설 추출해야할 것 history_id, car_id, start_date, end_date, rent_type 조건 start_date LIKE "%2022-09%" 정렬 history_id DESC 1. 2022년 09월에 대여 시작한 행을 불러온다 2. CASE WHEN ~ 절과 DA..
· Development
개인정보 수집 유효기간1. today와 수집 날짜의 차이를 구하는 date_diff 모듈을 만든다2. 수집정책이 파라미터마다 다르니 make_terms_dict를 만들어 유효기간을 불러올 수 있도록 해준다3. 각 privacy의 case마다 날짜차이를 구해 유효기간을 넘은 인덱스를 저장해준다 유효기간을 일 수로 치환하여 월단위로 계산했을 때발생하는 예외를 datediff 모듈의 계산법을 통해 없애주었다.  def solution(today, terms, privacies): answer = [] terms_dict = make_terms_dict(terms) # 유효기간 정보를 사전형으로 변환 for idx, privacy in enumerate(privacies): ..
상황 : 프로젝트를 위한 파이썬 버전을 맞춰주기 위해 가상환경 설치 문제 : 다른 폴더 경로로 이관하다가 쓰던 인터프리터가 불러와지지 않음! 나의 base 버전은 3.9.7 이 맞지만 가상환경엔 3.7.x 버전이 있었다. 원인 : 프롬프트를 켤 때 .venv 폴더에서 실행되는 것은 보이는데 Scripts/activate.bat 내의 경로 지정이 잘못되었기 때문 해결 : 만약 처음 설치했던 가상환경 폴더의 경로가 변경되었다면 activate.bat과 Activate.ps1에서 아래 부분의 경로를 다시 고쳐주자 다시 파이썬을 켜보면 설치했던 인터프리터가 불러와졌음을 볼 수 있다
LV.2 재구매가 일어난 상품과 회원 리스트 구하기 문제 ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. 해설 추출해야할 것 user_id, product_id 조건 재구매 회원 정렬 user_id , product_id DESC 1. 회원별, 제품별 구매 횟수를 COUNT하기 위해 GROUP BY를 해준다 2. HAVING으로 집계된 횟수가 2회 이상인 row만 가져온다 3. 알맞게 정렬한다 이를 구현한 코드는 아래와 같다 SELECT user_id, product_id FR..
bat_huni
'Development' 카테고리의 글 목록 (2 Page)