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

MySQL에서 다른 중복 열 값이 발견되면 열 값을 기반으로 행을 제외하시겠습니까?

<시간/>

이를 위해 하위 쿼리를 사용할 수 있습니다. 먼저 −

를 생성해 보겠습니다.
mysql> create table DemoTable1427
   -> (
   -> StudentId int,
   -> StudentMarks int
   -> );
Query OK, 0 rows affected (1.28 sec)

insert −

를 사용하여 테이블에 일부 레코드 삽입
mysql> insert into DemoTable1427 values(201,89);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1427 values(201,99);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1427 values(210,98);
Query OK, 1 row affected (0.16 sec)

select −

를 사용하여 테이블의 모든 레코드 표시
mysql> select * from DemoTable1427 ;

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

+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
|       201 |           89 |
|       201 |           99 |
|       210 |           98 |
+-----------+--------------+
3 rows in set (0.00 sec)

다음은 다른 중복 컬럼 값이 발견되었을 때 컬럼 값을 기준으로 행을 제외하는 쿼리입니다. 여기에서 Studentmarks 89는 StudentId 201과 함께 있고 해당 Studentid 201도 다른 레코드를 갖고 있으므로 둘 다 결과에서 제외됩니다 -

mysql> select * from DemoTable1427
   -> where StudentId NOT IN (select distinct StudentId from DemoTable1427 where StudentMarks=89);

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

+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
|       210 |           98 |
+-----------+--------------+
1 row in set (0.00 sec)