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

MySQL 데이터베이스에서 검색된 행에서 특정 쉼표로 구분된 값을 계산하는 방법은 무엇입니까?

<시간/>

쉼표로 구분된 값을 계산하려면 FIND_IN_SET()과 함께 집계 함수 COUNT(*)를 사용하십시오. 먼저 테이블을 생성하겠습니다 -

mysql> Create table DemoTable( Value varchar(100));Query OK, 영향을 받는 행 0개(0.49초)

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

<미리>mysql> DemoTable 값에 삽입('10,20,60,80');쿼리 OK, 영향을 받는 1행(0.12초)mysql> DemoTable 값에 삽입('60,70,90');쿼리 OK, 영향을 받는 행 1개(0.12초)mysql> DemoTable 값에 삽입('50,55,65,60'); 쿼리 확인, 영향을 받은 행 1개(0.12초) mysql> DemoTable 값에 삽입('90,98,97');쿼리 OK, 1행 영향(0.12초)

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

mysql> DemoTable에서 *선택;

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

+-------------+| 값 |+-------------+| 10,20,60,80 || 60,70,90 || 50,55,65,60 || 90,98,97 |+-------------+4행 세트(0.00초)

다음은 데이터베이스에서 검색된 쉼표로 구분된 값을 계산하는 쿼리입니다 -

mysql> find_in_set('60',Value)> 0인 DemoTable에서 count(*) 선택;

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

+----------+| 개수(*) |+----------+| 3 |+----------+1 행 세트(0.00초)