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

MySQL 쿼리를 사용하여 열에서 특정 ID의 문자열 수를 찾는 방법은 무엇입니까?

<시간/>

이를 위해 MySQL에서 CHAR_LENGTH() 함수를 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Subject longtext
   );
Query OK, 0 rows affected (1.17 sec)

이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다 -

mysql> insert into DemoTable(Subject) values('MySQL,MongoDB');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Subject) values('MySQL,MongoDB');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(Subject) values('MongoDB');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Subject) values('MySQL');
Query OK, 1 row affected (0.15 sec)
Display all records from the table using select statement :
mysql> select *from DemoTable;

출력

+----+---------------+
| Id | Subject       |
+----+---------------+
| 1  | MySQL,MongoDB |
| 2  | MySQL,MongoDB |
| 3  | MongoDB       |
| 4  | MySQL         |
+----+---------------+
4 rows in set (0.00 sec)

다음은 컬럼에서 특정 id의 MySQL 쿼리로 문자열 개수를 찾는 쿼리이다. 여기서 id 1을 확인하고 있습니다 -

mysql> select Id,char_length(Subject) - char_length(REPLACE((Subject), ',', ''))+1 
   AS FreqSubject from DemoTable WHERE char_length(Subject) > 0 AND Id = 1;

출력

+----+-------------+
| Id | FreqSubject |
+----+-------------+
| 1  | 2           |
+----+-------------+
1 row in set (0.02 sec)