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

MySQL에서 동일한 값을 갖는 행이 몇 개인가?

<시간/>

COUNT(*) 및 GROUP BY 함수를 사용하여 동일한 값을 갖는 행 수를 계산합니다. 구문은 다음과 같습니다 -

SELECT yourColumName1, count(*) as anyVariableName from yourTableName GROUP BY yourColumName1;

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

mysql> create table RowWithSameValue
   −> (
   −> StudentId int,
   −> StudentName varchar(100),
   −> StudentMarks int
   −> );
Query OK, 0 rows affected (0.55 sec)

동일한 값을 가진 일부 레코드를 삽입하십시오. 여기에서 우리의 예를 위해 한 명 이상의 학생에 대해 동일한 점수를 추가했습니다. 레코드를 삽입하는 쿼리는 다음과 같습니다 -

mysql> insert into RowWithSameValue values(100,'Carol',89);
Query OK, 1 row affected (0.21 sec)

mysql> insert into RowWithSameValue values(101,'Sam',89);
Query OK, 1 row affected (0.15 sec)

mysql> insert into RowWithSameValue values(102,'John',99);
Query OK, 1 row affected (0.12 sec)

mysql> insert into RowWithSameValue values(103,'Johnson',89);
Query OK, 1 row affected (0.15 sec)

이제 위에 삽입한 모든 레코드를 표시할 수 있습니다. 모든 레코드를 표시하는 쿼리는 다음과 같습니다. -

mysql> select *from RowWithSameValue;

다음은 출력입니다 -

+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
|       100 | Carol       |           89 |
|       101 | Sam         |           89 |
|       102 | John        |           99 |
|       103 | Johnson     |           89 |
+-----------+-------------+--------------+
4 rows in set (0.00 sec)

동일한 값을 갖는 행을 계산하기 위해 처음에 논의한 구문을 구현하십시오 -

mysql> SELECT StudentMarks, count(*) as SameValue from RowWithSameValue GROUP BY StudentMarks;

다음은 여러 값의 개수를 표시하는 출력입니다. -

+--------------+-----------+
| StudentMarks | SameValue |
+--------------+-----------+
|           89 |         3 |
|           99 |         1 |
+--------------+-----------+
2 rows in set (0.00 sec)