Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 웹스크래핑
- 프로그래머스
- Python
- 분산 시스템
- recommendation system
- 알고리즘
- Cosine-similarity
- 추천 시스템
- 부스트캠프
- 코딩테스트
- 추천시스템
- 웹크롤링
- wordcloud
- Overfitting
- codingtest
- TF-IDF
- 데이터
- 머신러닝
- 딥러닝
- SGD
- selenium
- 코테
- 시각화
- 파이썬
- Tensor
- pytorch
- coursera
- 협업 필터링
- 백준
- 데이터 엔지니어링
Archives
- Today
- Total
개발자식
[프로그래머스] SQL, 진료과별 총 예약 횟수 출력하기 본문
✔︎ 문제
https://school.programmers.co.kr/learn/courses/30/lessons/132202
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✏️ 나의 풀이
- SELECT문에 Alias에 따옴표를 붙이고 ORDER BY에서도 붙였었는데, ORDER BY에서는 지정한 Alias 그대로 작성해야 적용된다. 즉 SELECT에서 따옴표를 썼더라도 ORDER BY에서는 따옴표 빼야한다.
- 헷갈린다면 SELECT COLUMN 순서대로 ORDER BY 2, 1 이렇게 써줘도 된다. 아니면 Alias 말고 COUNT(MCDP_CD), MCDP_CD 이렇게 써줘도 된다.
SELECT MCDP_CD AS 진료과코드, COUNT(MCDP_CD) AS 5월예약건수
FROM APPOINTMENT
WHERE APNT_YMD LIKE "2022-05%"
GROUP BY MCDP_CD
ORDER BY 5월예약건수, 진료과코드
ORDER BY에서 따옴표를 붙이면 안되는 이유를 찾아보다 못찾아서 챗GPT한테 물어봤다.
"MySQL에서 ORDER BY 절에서 SELECT 문에 지정한 alias에 따옴표를 붙이면 안 되는 이유는 다음과 같습니다."
- Column Alias는 접근성을 위한 별칭입니다: SELECT 문에서 사용되는 alias는 결과 집합의 컬럼에 대한 접근성을 제공하는 데 사용됩니다. 따라서 ORDER BY 절에서 해당 alias를 사용하여 결과를 정렬할 수 있습니다.
- ORDER BY는 실제 컬럼을 기준으로 정렬합니다: ORDER BY 절은 컬럼 값을 기준으로 결과를 정렬하는 데 사용됩니다. 따라서 alias를 사용하여 정렬 순서를 지정할 때, 해당 alias가 실제 컬럼을 나타내는 것처럼 처리됩니다.
- 따옴표로 감싸면 문자열로 처리됩니다: 따옴표로 감싸면 MySQL은 해당 값을 문자열로 인식합니다. 따라서 alias를 따옴표로 감싸면 실제 컬럼 이름이 아닌 문자열로 처리되며, 예기치 않은 동작이 발생할 수 있습니다.
따라서, ORDER BY 절에서 SELECT 문에 지정한 alias를 따옴표로 감싸지 않고 사용하는 것이 올바른 방법입니다.
'Data > SQL' 카테고리의 다른 글
[프로그래머스 SQL] 문자열 (1) | 2023.05.24 |
---|---|
[프로그래머스 SQL] 인기있는 아이스크림 (0) | 2023.04.29 |
[프로그래머스 SQL] 조건에 맞는 회원수 구하기 (0) | 2023.04.29 |
[SQL] 문법 정리 (0) | 2022.09.08 |
Comments