SQL 집합 함수 중 case when then 사용 방법
데이터베이스 에 student 라 는 표 가 있다 고 가정 합 니 다.
만약 지금 당신 이 이 표 에 근거 하여 강서성 남녀 의 개수,광동성 남자 의 개수,절강성 남녀 의 개 수 를 어떻게 SQL 문 구 를 쓰 는 지 알 아내 라 고 한다 면?결과 표를 만 드 는 것 입 니 다.
정 답 은 select sex,count(case province when'광동성'then'광동성'end)as 광동성,count(case province when'강서성'then'강서성'end)as 강서성,count(case province when'절강성'then'절강성'end)as 절강성 from student group by sex
count()함 수 는 주어진 범위 와 group by(통계 방식)에 따라 줄 데 이 터 를 통계 하 는 항목 입 니 다.
우 리 는 한 걸음 한 걸음 위의 문장 을 이해한다.
1. select sex from student(조회 데이터 시트 에 존재 하 는 남녀 항목 수)
2.select sex, count (*) as num from student group by sex (조회 표 의 남녀 수)
3.select 섹스,지방,카운트(*)성별,지방 에 의 해 학생 그룹 에서 num 으로(각 성의 남녀 수 조회)
포인트 가 왔 습 니 다.만약 에 제 가 count(*)중의*번 호 를 임 의 열 로 바 꾸 면 요?예 를 들 어 count(province)는 어떻게 됩 니까?
4.select 섹스,지방,카운트(지방)성별,지방 에 의 해 학생 그룹 에서 num 으로(각 성의 남녀 수 조회)
결 과 는 위의 그림 과 같다.이것 은 바 꾸 든 안 바 꾸 든 모두 같다 는 것 을 설명 한다.또 count(province)등가 가 count(case province when'절강성'then'절강성' else province end )
하지만 우리 가 범 위 를 좁 히 면 count(case province when'절강성'then'절강성'end)다음 을 보 세 요.
5.select 섹스,지방,카운트(케이스 지방 때'절강성'그때'절강성'끝)성별 에 의 해 학생 그룹 에서 num 으로,지방
즉,남녀 의 수량 범 위 를 절강성 으로 제한 하고 다시 간소화 하면 다음 과 같다.
6.select 섹스,count(case province when'절강성'then'절강성'end)as 절강성 from student group by sex
이미 우리 의 요구 에 가 까 워 졌 으 니,지금 은 다른 필드 만 더 하면 된다.
7.select 성별,count(case province when'광동성'then'광동성'end)as 광동성,count(case province when'강서성'then'강서성'end)as 강서성,count(case province when'절강성'then'절강성'end)as 절강성 from student group by sex
소결:물론 여러 가지 방법 이 있 습 니 다.나 는 단지 생각 일 뿐이다.
case when then 지식 포인트
(1)select(case province when'절강성'then'절강'when'강서성'then'강서'end ) as 省 성 from student 학생
기본 범위 가 모두 포함 되 지 않 으 면 위의 그림 과 같은 광 둥 성 이 비어 있 습 니 다.
(2)select(case province when'절강성'then'절강'when'강서성'then'강서'else province end ) as 省 성 from student 학생
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Case swappingCase swapping Description: Given a string, swap the case for each of the letters. e.g. CodEwArs --> cODeWaRS Examples 다른...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.