[MySQL][TIP] 필드 원소 갯수, 각각 원소 갯수세기 SUM IF
MySQL에서 도메인에 값들의 갯수를 세어야 할 때가 있습니다. 그럴 때 사용할 수 있는 것이 SUM과 IF의 조합입니다.
1. 테스트할 데이터 준비
CREATE TABLE IF NOT EXISTS `count_test` (
`id` int(11) NOT NULL,
`state` enum('Y','N') NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `count_test` (`id`, `state`) VALUES
(1, 'Y'),
(2, 'Y'),
(3, 'Y'),
(4, 'Y'),
(5, 'N'),
(6, 'Y'),
(7, 'N'),
(8, 'Y'),
(9, 'Y'),
(10, 'N');
2. 갯수 세기(SUM, IF)
SELECT SUM(IF(state = "Y", 1, 0)) AS y_cnt, SUM(IF(state = "N", 1, 0)) AS n_cnt FROM count_test
'Database > mysql tip' 카테고리의 다른 글
select return (0 row 0 total rows) null 결과 출력처리방법 (0) | 2021.04.06 |
---|---|
MySQL 계층형 쿼리 구현하기 (0) | 2021.04.06 |
SQL EXPLAIN 정리 (0) | 2021.04.06 |
[MySQL][TIP] MySQL JOIN(LEFT, RIGHT, INNER, OUTER) (0) | 2021.01.06 |
[MySQL][TIP] DB 스키마 정보 쿼리(Query). 스키마 엑셀로 문서화 하기 (0) | 2021.01.06 |
[MySQL][TIP] datetime 필드에서 날짜 혹은 시간만 SELECT하기 (0) | 2021.01.06 |
[MySQL][TIP] 날짜별로 행의 갯수 카운팅 하기 (0) | 2021.01.06 |
[MySQL][TIP] 특정 필드 가 업데이트 될 때 트리거 작동 시키기 (0) | 2021.01.06 |