当在MySQL中找到另一个重复的列值时,根据列值排除行?
为此,您可以使用子查询。让我们首先创建一个-
mysql> create table DemoTable1427 -> ( -> StudentId int, -> StudentMarks int -> );
使用insert在表中插入一些记录-
mysql> insert into DemoTable1427 values(201,89); mysql> insert into DemoTable1427 values(201,99); mysql> insert into DemoTable1427 values(210,98);
使用选择显示表中的所有记录-
mysql> select * from DemoTable1427 ;
这将产生以下输出-
+-----------+--------------+ | StudentId | StudentMarks | +-----------+--------------+ | 201 | 89 | | 201 | 99 | | 210 | 98 | +-----------+--------------+ 3 rows in set (0.00 sec)
这是当找到另一个重复的列值时基于列值排除行的查询。在这里,Studentmarks89具有StudentId201,并且该Studentid201也具有另一条记录,因此两者都将从结果中排除-
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)