Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

여러 테이블의 MySQL 개수(*)?

<시간/>

여러 테이블에 대해 이를 달성하려면 UNION ALL을 사용하십시오.

구문은 다음과 같습니다.

select sum(variableName.aliasName)from ( select count(*) as yourAliasName from yourTableName1 UNION ALL select count(*) as yourAliasName from yourTableName2 ) yourVariableName;

위의 구문을 구현해 보겠습니다. 여기에서는 더 많은 테이블이 있는 샘플 데이터베이스를 사용하고 있습니다.

우리가 사용하는 두 개의 테이블은

  • 사용자 데모
  • 데모

다음은 두 테이블의 모든 레코드를 표시하는 쿼리입니다. 'userdemo' 테이블의 레코드를 표시하는 쿼리는 다음과 같습니다.

mysql> select *from userdemo;

다음은 출력입니다.

+--------+----------+------------------+| 사용자 ID | 사용자 이름 | 등록된 과정 |+--------+----------+------+| 1 | 존 | 자바 || 2 | 래리 | ㄷ || 3 | 캐롤 | C++ || 4 | 마이크 | C# |+--------+----------+------------------+4행 세트(0.08초) 

'wheredemo' 테이블의 레코드를 표시하는 쿼리는 다음과 같습니다.

mysql> select *from wheredemo;

다음은 출력입니다.

+------+---------+| 아이디 | 이름 |+------+---------+| 101 | 맥스웰 || 110 | 데이비드 || 1000 | 캐롤 || 1100 | 밥 || 115 | Sam |+-----+----------+5행 세트(0.20초)

위의 두 테이블에서 count(*)를 구현하는 쿼리는 다음과 같습니다.

mysql> select sum(tbl.EachTableCount) -> from -> ( -> select count(*) as EachTableCount from userdemo -> UNION ALL -> select count(*) as EachTableCount from wheredemo -> )tbl; 

다음은 출력입니다.

+-------------------------+| 합계(tbl.EachTableCount) |+-------------------------+| 9 |+-------------------------+1 행 세트(0.00초)