[MySQL || MariaDB] 여러 테이블 한번에 카운터 하기
2020. 3. 15. 17:48
반응형
개념
한 번에 여러 테이블의 값을 추출할 수 있다.
문법
문법에 들어가기 앞서, 공통 테이블 예시
기본 문법
SELECT 테이블별칭.카운트별칭,테이블별칭.카운트별칭,테이블별칭.카운트별칭
FROM
( select count(*) 카운트별칭 from 테이블명 조건(선택) ) 테이블별칭
, ( select count(*) 카운트별칭 from 테이블명) 테이블별칭
, ( select count(*) 카운트별칭 from 테이블명) 테이블별칭
예시 1.board 테이블 중 views(조회수)가 30 이상인 것, members 테이블 중 id가 1인 멤버를 카운트
SELECT a.views, b.beu
FROM (SELECT COUNT(*) views FROM board WHERE views > 30) a ,
(SELECT COUNT(*) beu FROM members WHERE id = 1) b
결과
예시 2.board 테이블의 총 조회수, 총 좋아요 수, members 테이블의 총 유저수를 카운트
SELECT a.views_length,a.likes_length, b.user_length
FROM (SELECT SUM(views) views_length,SUM(likes) likes_length FROM board) a ,
(SELECT COUNT(*) user_length FROM members) b
결과
자주 나는 오류
/* SQL 오류 (1060): Duplicate column name 'spaceAll' */
SELECT `storage`.storageAll, host.hostAll
FROM
( select sum(allca) spaceAll,sum(useca) spaceAll,sum(space) spaceAll from storageInfo) `storage`
, ( select count(*) hostAll from hostInfo) host
이와 같이 별칭을 중복으로 쓰셔서 그렇습니다.
반응형
'MariaDB' 카테고리의 다른 글
[MySQL || MariaDB] ALTER TABLE 문법 총 정리 (0) | 2020.03.22 |
---|---|
[MySQL || MariaDB] 숫자형 문자 정렬 문제 및 해결(Feat.varchar) (0) | 2020.03.15 |
[MySQL || MariaDB] ORDER BY 특정 값 우선 정렬(feat.FIELD) (2) | 2020.02.29 |
[MySQL || MariaDB] InnoDB 총 정리 (1) | 2019.12.28 |
[MySQL || MariaDB] 데이터베이스 접근 권한 거부 Host 'IP' is not allowed to connect to this MySQL server (1) | 2019.11.19 |