본문 바로가기

프로그래밍 언어/MySQL

[MySQL] 갯수 세기,카운트 함수: count()/ ~별로 그룹묶기: group by

반응형

 

갯수 세기 - 카운트 함수, count()

- 데이터 갯수를 센다.

- 데이터는 행이다. 

-- books 테이블의 데이터 갯수(책의 갯수)는??

select count(*) 
from books;

-- 19개

-- author_fname의 갯수는?
select count( distinct author_fname)
from books;

-- 책 제목에 the라고 들어있는 책은 몇개인가요?
select count(*)
from books
where title like '%the%';



~별로 그룹묶기: group by

-- group by 옆에는 컬럼이름이 나와줘야한다. 

-- group by는, 컬럼 1개, 2개, 3개... 상관없이 여러개 가능

-- author_lname 별로, 몇권의 책을 썻는지, 
-- author_lname과 cnt라는 컬럼으로 데이터를 가져오시오.
select author_lname, count(*) as cnt
from books
group by author_lname;


-- full_name별로, 각각 몇권의 책을 썻는지
-- full_name과 책의 갯수를 cnt라는 컬럼으로 가져오세요. 
select concat(author_fname, ' ', author_lname)as full_name, count(*) as cnt
from books
group by full_name;

select author_fname, author_lname, count(*) as cnt
from books
group by author_fname, author_lname;
-- 두개 컬럼의 조합을 기준으로 해서 알려준다. 


반응형