如何使用MySQL在一个或多个列中查找具有确切值的行?

为此,您可以将GROUP BY HAVING与子查询一起使用。让我们首先创建一个表-

create table DemoTable1861

     (

     Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,

     Name varchar(20),

     Marks int

     );

使用插入命令在表中插入一些记录-

insert into DemoTable1861(Name,Marks) values('John',45);

insert into DemoTable1861(Name,Marks) values('Chris',74);

insert into DemoTable1861(Name,Marks) values('David',89);

insert into DemoTable1861(Name,Marks) values('Chris',74);

insert into DemoTable1861(Name,Marks) values('John',49);

使用select语句显示表中的所有记录-

select * from DemoTable1861;

这将产生以下输出-

+----+-------+-------+

| Id | Name  | Marks |

+----+-------+-------+

|  1 | John  |    45 |

|  2 | Chris |    74 |

|  3 | David |    89 |

|  4 | Chris |    74 |

|  5 | John  |    49 |

+----+-------+-------+

5 rows in set (0.00 sec)

这是在一列或多列中查找具有确切值的行的查询:

select Id,Name,Marks from DemoTable1861

     where (Name,Marks) IN ( select Name,Marks from DemoTable1861

     group by Name,Marks

     having count(*) > 1);

这将产生以下输出-

+----+-------+-------+

| Id | Name  | Marks |

+----+-------+-------+

|  2 | Chris |    74 |

|  4 | Chris |    74 |

+----+-------+-------+

2 rows in set (0.00 sec)

以上是 如何使用MySQL在一个或多个列中查找具有确切值的行? 的全部内容, 来源链接: utcz.com/z/331524.html

回到顶部