본문 바로가기

분류 전체보기

(19)
SQL 빠른 요약 제한 LIMIT: 조회 행수 제한 SELECT TOP 2 COL1, COL2... : 조회 행수 TOP N개 제한 정렬 ORDER BY: 정렬 (ASC, DESC) 조건문 WHERE: 등호 수식은 ==이 아닌 = BTWEEN 'A' AND 'B' 제외: NOT BETWEEN 10 AND 20 - 간단한 조건문 예제 SELECT * FROM TABLE1 WHERE AGE BETWEEN 10 AND 20 중복제거 SELECT DISTINCT (NULL 제외됨) IFESLE 함수 CASE, THEN, ELSE, END 함수 - 수식 CASE 컬럼 WHEN 조건1 THEN 값1 WHEN 조건2 THEN 값2 ELSE 값3 END AS 새 컬럼명
SQL 프로그래머스: 상품을 구매한 회원 비율 구하기 풀이 TIP 서브쿼리 사용 + YEAR, MONTH 함수 사용 + JOIN 어떻게 할지 고민하기 오래 걸릴 문제가 아니었는데, MONTH 함수 사용하지 않고 DATE_FORMAT(DATE, '%c')로 반환했더니 틀렸다. DATE_FORMAT(DATE, '%m')로 해야 정답 처리 되었다. (대체 왜 ????????) 사실 아직도 왜 틀린지 모르겠지만, 다른 분의 풀이를 보고 더 간단하게 푸는 법을 알았으니 뭐~... 내 풀이 SELECT YEAR(SALES_DATE) YEAR, MONTH(SALES_DATE) MONTH, COUNT(DISTINCT ONLINE_SALE.USER_ID) AS PUCHASED_USERS, ROUND(COUNT(DISTINCT ONLINE_SALE.USER_ID) / (SE..
SQL 프로그래머스: 없어진 기록 찾기 풀이 TIP 어떤 테이블 기준으로 JOIN 할지 생각한다. (OUTS엔 있어야 하지만, INS에는 없는 NAME) → OUTS 테이블 기준으로, LEFT OUTER JOIN 해주자. + 그냥 FROM TABLE1, TABLE2의 경우 WHERE로 조인해도 된다. 그러나 JOIN 함수 사용할 경우 ON으로 조인해주자. 1) INNER JOIN 2) OUTER JOIN 참고 사이트: https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/ 내 풀이 SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAME FROM ANIMAL_OUTS LEFT OUTER ..
SQL 프로그래머스: 동명 동물 수 찾기 풀이 TIP GROUP BY의 조건문 HAVING을 사용하자. "HAVING문" - GROUP BY의 결과에 제약을 걸어주는 조건문이다. - GROUP BY 뒤에 작성해야 한다. - WHERE 전에 등장해야 한다. 내 풀이 SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME
SQL 프로그래머스: 자동차 대여 가능 여부 구분하기 풀이 TIP 서브쿼리를 사용하자. + CASE문을 사용하여 기간 안에 속한 CAR_ID를 꺼내자. (이 아이디어 떠올리는 것이 중요하다.) "CASE문" CASE 컬럼 WHEN 조건1 THEN 값1 WHEN 조건2 THEN 값2 ELSE 값3 END AS '새 컬럼명' 내 풀이 SELECT CAR_ID, CASE WHEN CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE '2022-10-16' BETWEEN START_DATE AND END_DATE ) THEN '대여중' ELSE '대여 가능' END AS AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID O..
Github 입문기 (2) : 로컬 저장소의 새 폴더를 git에 옮기자 하... 공부는 해도해도 끝이 없다 바보 같이 착각해서 또 시간낭비 하다가 이제야 잘못된 걸 깨닫고 시간낭비하지 않기 위해 글쓴다 맨날 핵심 못찾고 빙빙 도는 나는야 찐따똥멍청이... 그치만 기죽지말고 씩씩하게 가보자 ㅠ + 그리고 글 쓰기 위해 또 해보다가... 많은 에러를 만나고 완료하는데에 3시간이 걸렸다. 진짜 존나지쳐 그 개고생이 이 뒤로 이어질 예정 아래 참고 페이지는 시작하기 전에 꼭! 꼭! 읽어보는 것을 추천한다. 덕에 제대로 안잡힌 개념이 잡히면서 이해가 수월했다. 들어가서 선게시글 먼저 읽고, 기존 페이지를 읽자. 참고 페이지: https://dololak.tistory.com/304 [Git] Git 상태 확인하기 - git status 명령어 및 상태 파헤치기! 먼저 봐야할 글 [G..
tidyr:: (3) iris data에 적용해보자 (+pivot_longer) 여담 line -------------------------------------------------------------- 원래 굳이 응용까지 할 생각은 없었는데 내 데이터에 tidyr의 spread 함수가 안굴러가더라... 왜 안되나 구글링해보다가 iris data 분석한 걸 찾았다. 한번 따라해보다가 기록해둬야될 것 같아 글로 적는다. 각설하고 시작하자 --------------------------------------------------------------------------- 참고 페이지: https://stackoverflow.com/questions/60083062/tidyrspread-error-each-row-of-output-must-be-identified-by-a-uniqu..
tidyr:: (2) Split or combine: separate, separate_rows, unite [참고 페이지] https://m.blog.naver.com/bosongmoon/221587219214 https://gomguard.tistory.com/22 (추가 argument 설명 有) 지금 설명할 것은, 'Use these functions to split or combine cells into individual, isolated values'에 관련된 두 함수다. Spilt or combine Cells (1) separate(data, col, into, sep, remove = T, convert = F, extra = "warn", fill = "warn", ...) table3 %>% separate(rate, into= c("'cases', 'pop')) 또는, separate(t..