일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 회귀분석
- hackerrank
- 실전 데이터 분석 프로젝트
- 파이썬 머신러닝 완벽가이드
- SQL
- Cluster
- 스파르타코딩
- 스파르타
- 내일배움캠프
- 프로그래머스
- 파이썬 철저입문
- 프로젝트
- wil
- 어쩌다 마케팅
- 파이썬 철저 입문
- 파이썬 머신러닝 완벽 가이드
- 티스토리챌린지
- 텍스트 분석
- MySQL
- harkerrank
- 오블완
- 미세먼지
- 스파르타 코딩
- 중회귀모형
- 내일배움
- 웹 스크랩핑
- TiL
- 파이썬
- R
- 내일배움카드
- Today
- Total
OkBublewrap
진료과별 총 예약횟수 출력하기 본문
문제
APPOINMENT 테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성해주세요.
이때, 컬럼명은 '진료과 코드', 5월 예약건수'로 지정해주시고 결과는 진료과별 예약한 환자 수를 기준으로 오름차순
정렬하고, 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순
정렬해주세요.
예시
SQL을 실행하면 다음과 같이 출력되어야 합니다.
진료과코드 | 5월예약건수 |
OB | 1 |
OS | 1 |
CS | 2 |
FM | 2 |
GS | 2 |
SELECT mcdp_cd as '진료과코드', count(*) as '5월예약건수'
FROM appointment
WHERE apnt_ymd LIKE '2022-05%'
GROUP BY mcdp_cd
ORDER BY '5월예약건수' ASC, '진료과코드' ASC
진료과코드 | 5월예약건수 |
GS | 2 |
FM | 2 |
제출한 결과 정답이 아니라고 한다
문의하기를 다른 분이 작성한 것을 보니 열 별칭의 문제라고 했다
https://dev.mysql.com/doc/refman/8.0/en/problems-with-alias.html
MySQL :: MySQL 8.0 Reference Manual :: B.3.4.4 Problems with Column Aliases
B.3.4.4 Problems with Column Aliases An alias can be used in a query select list to give a column a different name. You can use the alias in GROUP BY, ORDER BY, or HAVING clauses to refer to the column: SELECT SQRT(a*b) AS root FROM tbl_name GROUP BY root
dev.mysql.com
<예시>
SELECT SQRT(a*b) AS root FROM tbl_name
GROUP BY root HAVING root > 0;
SELECT id, COUNT(*) AS cnt FROM tbl_name
GROUP BY id HAVING cnt > 0;
SELECT id AS 'Customer identity' FROM tbl_name;
별칭을 지정한 것은 GROUP BY절, HAVING절을 참조할 수 있다.
SELECT id, COUNT(*) AS cnt FROM tbl_name
WHERE cnt > 0 GROUP BY id;
WHERE절에는 별칭을 사용하지 못한다고 명시가 되어있다.
SELECT id AS 'a', COUNT(*) AS cnt FROM tbl_name
GROUP BY `a`;
따라서 별칭을 지정한것은 ``을 사용해서 넣어 줘야한다.
SELECT mcdp_cd as '진료과코드', count(*) as '5월예약건수'
FROM appointment
WHERE apnt_ymd LIKE '2022-05%'
GROUP BY mcdp_cd
ORDER BY `5월예약건수` ASC, `진료과코드` ASC
'개발 > SQL' 카테고리의 다른 글
흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2023.02.25 |
---|---|
Null 처리하기 (0) | 2023.02.25 |
Weather Observation Station 11 (0) | 2023.02.22 |
Weather Observation Station 10 (0) | 2023.02.22 |
Weather Observation Station 9 (0) | 2023.02.22 |