728x90
1. 동명 동물 수 찾기
문제
동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요
내 풀이
SELECT NAME, COUNT(NAME) AS 'COUNT'
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME
GROUP BY: 지정한 열의 데이터들을 그룹으로 묶음
- HABING: GROUP BY절에 조건식 추가
- GROUP BY와 함께 주로 사용되는 집계 함수
SUM() | 합계를 구합니다 |
AVG() | 평균을 구합니다 |
MIN() | 최소값을 구합니다 |
MAX() | 최대값을 구합니다 |
COUNT() | 행의 개수를 셉니다 |
COUNT(DISTINCT) | 행의 개수를 셉니다(중복은 1개만 인정) |
2. DATETIME에서 DATE로 형 변환
문제
ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜1를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다.
내 풀이
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
FORMAT | 설명 |
%M | Month 월(Janeary, February ...) |
%m | Month 월(01, 02, 03 ...) |
%W | Day of Week 요일(Sunday, Monday ...) |
%D | Month 월(1st, 2dn, 3rd ...) |
%Y | Year 연도(1999, 2000, 2020) |
%y | Year 연도(99, 00, 20) |
%X | Year 연도(1999, 2000, 2020) %V와 같이쓰임 |
%x | Year 연도(1999, 2000, 2020) %v와 같이쓰임 |
%a | Day of Week요일(Sun, Mon, Tue ...) |
%d | Day 일(00, 01, 02 ...) |
%e | Day 일(0, 1, 2 ..) |
%c | Month(1, 2, 3 ..) |
%b | Month(Jen Feb ...) |
%j | n번째 일(100, 365) |
%H | Hour 시(00, 01, 24) 24시간 형태 |
%h | Hour 시(01, 02, 12) 12시간 형태 |
%I(대문자 아이) | Hour 시(01, 02 12) 12시간 형태 |
%l(소문자 엘) | Hour 시(1, 2, 12) 12 시간 형태 |
%i | Minute 분(00, 01 59) |
%r | hh:mm:ss AP | PM |
%T | hh:mm:ss |
%S, %s | Second 초 |
%p | AP, PM |
%w | Day Of Week (0, 1, 2) 0부터 일요일 |
%U | Week 주(시작: 일요일) |
%u | Week 주(시작 월요일) |
%V | Week 주(시작: 일요일) |
%v | Week 주(시작:월요일) |
FORMAT 표 출처: https://kig6022.tistory.com/7
728x90
'SQL > 프로그래머스 고득점 kit' 카테고리의 다른 글
[프로그래머스] SQL 고득점 kit(고양이와 개는 몇 마리 있을까, 진료과별 총 예약 횟수 출력하기) (0) | 2024.01.13 |
---|---|
[프로그래머스] SQL 고득점 kit(카테고리 별 상품 개수 구하기, 중성화 여부 파악하기) (0) | 2024.01.12 |
[프로그래머스] SQL 고득점 kit(최솟값 구하기, 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2024.01.04 |
[프로그래머스] SQL 고득점 kit(최댓값 구하기, 조건에 부합하는 중고거래 댓글 조회하기) (0) | 2024.01.03 |
[프로그래머스] SQL 고득점 kit(모든 레코드 조회하기, 과일로 만든 아이스크림 고르기) (0) | 2023.12.19 |