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

MySQL에서 ID는 같지만 해당 레코드가 다른 값의 개수(예, 아니요)를 선택하시겠습니까?

<시간/>

이를 위해 CASE 문과 함께 SUM()을 사용할 수 있습니다. 먼저 −

를 생성해 보겠습니다.
mysql> 테이블 DemoTable1430 생성 -> ( -> EmployeeId int, -> isMarried ENUM('YES','NO') -> );쿼리 OK, 영향을 받는 행 0개(0.60초)

insert −

를 사용하여 테이블에 일부 레코드 삽입
mysql> insert into DemoTable1430 values(1001,'Yes');Query OK, 1개의 row가 영향을 받음(0.19초)mysql> insert into DemoTable1430 values(1001,'No');Query OK, 1개의 row가 영향을 받음(0.12초) )mysql> Insert into DemoTable1430 values(1001,'Yes');Query OK, 1개의 row가 영향을 받았다(0.09초)mysql> insert into DemoTable1430 values(1001,'Yes');Query OK, 1개의 row가 영향을 받았다(0.16초) 

select −

를 사용하여 테이블의 모든 레코드 표시
mysql> DemoTable1430에서 * 선택;

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

+------------+-----------+| 직원 ID | 결혼 |+------------+----------+| 1001 | 네 || 1001 | 아니 || 1001 | 네 || 1001 | 예 |+------------+-----------+4행 세트(0.00초)

다음은 값의 개수를 선택하는 쿼리입니다(Yes, No) -

mysql> EmployeeId,sum(isMarried='Yes')를 NumberOfMarried로 선택, -> sum(isMarried='No')을 NumberOfUnMarried로 -> DemoTable1430에서 -> EmployeeId별로 그룹화합니다.

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

+------------+-----------------+-------------- -+| 직원 ID | 결혼 수 | NumberOfUnMarried |+------------+-----------------+---------------- ---+| 1001 | 3 | 1 |+------------+-----------------+---------------- ---+1 행 세트(0.00초)