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

발생 횟수를 찾는 MySQL 집계 함수?

<시간/>

테이블에서 발생 횟수를 계산하려면 GROUP BY와 함께 집계 함수 COUNT()를 사용할 수 있습니다. 구문은 다음과 같습니다 -

SELECT yourColumnName,COUNT(*) as anyVariableName from yourTableName GROUP BY yourColumnName;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> 테이블 생성 CountOccurrences -> ( -> CarId int not null auto_increment, -> CarName varchar(30), -> PRIMARY KEY(CarId) -> );쿼리 OK, 영향을 받는 행 0개(0.68초) 

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> CountOccurrences(CarName) 값에 삽입('Aston Martin');쿼리 확인, 1행 영향(0.10초)mysql> CountOccurrence(CarName) 값에 삽입('BMW'), 쿼리 확인, 1행 영향 (0.20초)mysql> CountOccurrences(CarName) 값에 삽입('Aston Martin');쿼리 OK, 1행 영향(0.15초)mysql> CountOccurrences(CarName) 값에 삽입('Honda');쿼리 OK, 1행 영향을 받은(0.20초)mysql> CountOccurrences(CarName) 값에 삽입('BMW');쿼리 OK, 1행 영향을 받음(0.11초)mysql> CountOccurrence(CarName) 값에 삽입('Audi');쿼리 OK, 1행 영향을 받은(0.18초)mysql> CountOccurrences(CarName) 값에 삽입('Aston Martin'); 쿼리 확인, 1개의 행이 영향을 받음(0.11초)mysql> CountOccurrence(CarName) 값에 삽입('Bugatti');쿼리 확인, 1 영향을 받는 행(0.22초)mysql> CountOccurrence(CarName) 값에 삽입('BMW');쿼리 OK, 영향을 받는 1행(0.27초)mysql> CountOccurrence(CarName) 값에 삽입('Honda');쿼리 OK, 1 영향을 받는 행(0.13초) mysql> 삽입 CountOccurrences(CarName) values('Audi');Query OK, 1개의 row가 영향을 받았습니다(0.13초)mysql> insert into CountOccurrences(CarName) values('BMW');Query OK, 1개의 row가 영향을 받았습니다(0.12초)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> CountOccurrences에서 *선택;

다음은 출력입니다 -

+-------+--------------+| 카드 아이디 | 자동차 이름 |+-------+--------------+| 1 | 애스턴 마틴 || 2 | BMW || 3 | 애스턴 마틴 || 4 | 혼다 || 5 | BMW || 6 | 아우디 || 7 | 애스턴 마틴 || 8 | 부가티 || 9 | BMW || 10 | 혼다 || 11 | 아우디 || 12 | BMW |+---------+--------------+12행 세트(0.00초)

다음은 GROUP BY -

와 함께 count()를 사용하여 열에서 각 값의 발생 횟수를 계산하는 쿼리입니다.
mysql> CountOccurrences에서 TotalCount로 CarName,count(*)를 선택 -> CarName별로 그룹화합니다.

다음은 출력입니다 -

+--------------+------------+| 자동차 이름 | 총계 |+--------------+------------+| 애스턴 마틴 | 3 || BMW | 4 || 혼다 | 2 || 아우디 | 2 || 부가티 | 1 |+-----------------+------------+5행 세트(0.00초)