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

Id 및 FileID가 있는 테이블의 각 fileid 항목 수를 가져오는 MySQL 쿼리?

<시간/>

먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FileID int
) AUTO_INCREMENT=100;
Query OK, 0 rows affected (1.36 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable(FileID) values(50);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(FileID) values(60);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(FileID) values(50);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(FileID) values(70);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(FileID) values(60);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable(FileID) values(50);
Query OK, 1 row affected (0.32 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+-----+---------+
| Id  | FileID  |
+-----+---------+
| 100 |      50 |
| 101 |      60 |
| 102 |      50 |
| 103 |      70 |
| 104 |      60 |
| 105 |      50 |
+-----+---------+
6 rows in set (0.00 sec)

다음은 테이블의 각 FileID 항목 수를 가져오는 쿼리입니다. -

mysql> select FileID,COUNT(FieldId) AS EntryCount from DemoTable group by FileID;

이것은 다음과 같은 출력을 생성합니다 -

+---------+------------+
| FileID  | EntryCount |
+---------+------------+
|      50 |          3 |
|      60 |          2 |
|      70 |          1 |
+---------+------------+
3 rows in set (0.00 sec)