반응형
< MySQL group by 해서 만들어진 컬럼을 이용해서, case 문 만들때 조심해야할 사항 (컬럼 이름 사용법 설명) >
# 이전 생성한 스키마(DB)와 테이블로 이어서 진행
# 참고 : https://sorktjrrb.tistory.com/105
# case 혹은 if등 조건문은 select와 같은 행에 작성을 해주어야 한다.
# groub by 뒤에 having을 사용할때는 select 문 이후에 작성하는것이기 때문에 select 문에서 as 로 변경한 컬럼명을 사용할수 있지만,
# case, if 조건문에는 변경한 컬렴명을 사용할수 없고, 무조건 원본 데이터의 컬럼명 자체를 사용하여야 한다.
# 물론 조건문으로 출력시킨 컬럼에는 as로 컬럼명을 변경할수 있다.
-- 작가의 full name(fname, lname) 으로, 각 작가별로 몇권의 책을 썼는지 갯수를 나타내고,
-- 1권이면 book으로 하고 2권이상이면 books를 붙여라.
-- 조건문에는 무조건 원본 컬럼명을 사용하여야 한다.
select title, author_lname ,
if( count(title) = 1 , concat(count(title), ' book') , concat(count(title), ' books' )) as COUNT
from books
group by author_fname, author_lname
order by author_lname;
다음 게시글로 계속~!
728x90
반응형
'DATABASE > MySQL Workbench' 카테고리의 다른 글
MySQL Workbench : 날짜 데이터 관련 함수들 (now())과 부등호를 활용한 시간 차이 구하기 (interval) (0) | 2024.05.16 |
---|---|
MySQL Workbench : 날짜 데이터를 저장하는 데이터타입 (DATE, TIME, DATETIME) (0) | 2024.05.16 |
MySQL Workbench : ifnull 함수 사용법 (0) | 2024.05.15 |
MySQL Workbench : if 함수 사용법 (0) | 2024.05.15 |
MySQL Workbench : case 문 작성법 (case, end) (0) | 2024.05.15 |