일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Level2
- lv4
- 파이썬
- 코테
- time complexity
- lambda
- 시간복잡도
- 코딩
- level4
- coding
- 완전탐색
- counter
- CodingTest
- join
- 프로그래머스
- import re
- collections
- mysql
- Queue
- itertools
- 코딩테스트
- Stack
- programmers
- sql
- python
- coding test
- 연습문제
- BFS
- 조합
- 데이터분석
- Today
- Total
ror_coding
[Programmers] 물고기 종류 별 잡은 수 구하기 - 293257 본문
728x90
GROUP BY 로 사용할 열 지정은 SELECT 문과 잘 연관지어 정해야 한다!!
Question
FISH_NAME_INFO에서 물고기의 종류 별 물고기의 이름과 잡은 수를 출력하는 SQL문을 작성해주세요.
물고기의 이름 컬럼명은 FISH_NAME, 잡은 수 컬럼명은 FISH_COUNT로 해주세요.
결과는 잡은 수 기준으로 내림차순 정렬해주세요.
Tip
- GROUP BY 로 지정한 열은 SELECT 에 포함되어야 함.
- 이때 GROUP BY를 A.FISH_TYPE 처럼 사용한 걸 SELECT COUNT(A.FISH_TYPE)으로 사용 X.
Code
SELECT COUNT(*) AS FISH_COUNT, FISH_NAME
FROM FISH_INFO A
JOIN FISH_NAME_INFO B
ON A.FISH_TYPE = B.FISH_TYPE
GROUP BY FISH_NAME
ORDER BY 1 DESC
Wrong Code
- 아래 코드처럼 GROUP BY를 A.FISH_TYPE으로 하면 SELECT 에서 A.FISH_TYPE을 써도 오류 발생.
SELECT COUNT(A.FISH_TYPE) AS FISH_COUNT, FISH_NAME
FROM FISH_INFO A
JOIN FISH_NAME_INFO B
ON A.FISH_TYPE = B.FISH_TYPE
GROUP BY A.FISH_TYPE
ORDER BY 1 DESC
now me
On my Github
728x90
'Algorithm > SQL' 카테고리의 다른 글
[Programmers] 조건에 맞는 사원 정보 조회하기 - 284527 (0) | 2024.09.29 |
---|---|
[Programmers] 연도 별 평균 미세먼지 농도 조회하기 - 284530 (0) | 2024.09.28 |
[Programmers] 가격대 별 상품 개수 구하기 - 131530 (2) | 2024.09.28 |
[Programmers] 상품 별 오프라인 매출 구하기 - 131533 (2) | 2024.09.27 |
[Programmers] 중성화 여부 파악하기 - 59409 (2) | 2024.09.25 |