프로그래머스 ) mysql 날짜 형변환 하기 SELECT ANIMAL_ID, NAME ,DATE_FORMAT(DATETIME, '%Y-%m-%d') AS `날짜` FROM ANIMAL_INS ORDER BY ANIMAL_ID; 문제풀이/프로그래머스 2020.11.24
프로그래머스) mysql 오랜기간 보호한 동물(2) Q. 입양간 동물 중 보호기간이 가장 길었던 동물 두마리의 아이디와 이름을 조회하기 ( 결과는 보호기간이 긴 순으로 조회한다 ) --- 보호기간이 길다는 건 보호 시작일 부터 입양 가는 날짜의 기간차이가 크다는 것 SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O INNER JOIN ANIMAL_INS I ON I.ANIMAL_ID = O.ANIMAL_ID ORDER BY (O.DATETIME - I.DATETIME) DESC LIMIT 2; SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS O, ANIMAL_INS I WHERE I.ANIMAL_ID = O.ANIMAL_ID ORDER BY DATEDIFF.. 문제풀이/프로그래머스 2020.11.24
프로그래머스) mysql 중성화여부 파악하기 Q. 중성화 여부에 따라 O,X 로 나타내주기 SELECT ANIMAL_ID, NAME, IF (SEX_UPON_INTAKE LIKE 'I%', 'X', 'O') AS `중성화` FROM ANIMAL_INS ORDER BY ANIMAL_ID; -- 중성화(INTACT) 를 뜻하는 I가 들어가는 문자라면 X를, 그 외라면 O 를 치환한다 문제풀이/프로그래머스 2020.11.24
프로그래머스) mysql 오랜 기간 보호한 동물(1) Q. 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물3마리의 이름과 보호 시작일을 조회하기 ( 결과는 보호 시작일 순으로 조회하며, 3마리 이상일 경우 3마리의 목록만 보여준다) 아직 입양을 못간다는 것, INS 에만 기록되어 있다는 이야기. OUTS에 기록되지 않은 동물들 중 보호 시작일 순으로 조회하기 SELECT I.NAME, I.DATETIME FROM ANIMAL_INS I LEFT OUTER JOIN ANIMAL_OUTS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL ORDER BY I.DATETIME LIMIT 3 ; 문제풀이/프로그래머스 2020.11.24
프로그래머스 ) mysql 없어진 기록 찾기 (LEFT OUTER JOIN) Q. 입양 간 기록(ANIMAL_OUTS)은 있는데, 보호소에 들어온 기록(ANIMAL_INS)이 없는 동물의 ID 와 이름을 ID 순으로 조회하기 SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAME FROM ANIMAL_OUTS LEFT OUTER JOIN ANIMAL_INS ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID WHERE ANIMAL_INS.ANIMAL_ID IS NULL; 문제풀이/프로그래머스 2020.11.24
프로그래머스 ) mysql 동명동물 수 찾기 (GROUP BY, HAVING) Q. 보호소에 들어온 동물 이름 중 두번 이상 쓰인 이름과 쓰인 횟수 조회하기 ( 단, 이름이 없는 동물은 집계에서 제외) SELECT NAME, COUNT(*) AS `COUNT` FROM ANIMAL_INS WHERE NAME IS NOT NULL // NAME 값이 NULL이 아닐때 GROUP BY NAME // NAME 칼럼 으로 그룹화 HAVING `COUNT` > 1 ORDER BY NAME ASC; // 카운트가 1보다 클 경우에 NAME 순으로 문제풀이/프로그래머스 2020.11.23
프로그래머스 ) mysql 중복제거하기 (동물 이름 카운트) Q ) 보호소에 있는 동물들의 이름 갯수를 구하기. (단, 중복되는 이름은 1개로, NULL값은 카운트하지 않는다) SELECT COUNT(DISTINCT NAME) // NAME칼럼에서 중복되는 값을 제거한 후 카운트하라 FROM ANIMAL_INS // 해당 테이블에서 WHERE NAME IS NOT NULL; // NAME 값이 NULL이 아닐 때 문제풀이/프로그래머스 2020.11.23