mysql group by 过滤_使用NOT IN实现MySQL条件GROUP BY以从重复的列值中过滤记录

本文通过一个具体的例子展示了如何在MySQL中创建表、插入记录并进行复杂查询。特别关注了使用NOT IN与GROUP BY结合来筛选特定分数的学生名字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

让我们首先创建一个表-mysql> create table DemoTable

(

Name varchar(40),

Score int

);

使用插入命令在表中插入一些记录-mysql> insert into DemoTable values('Adam',89);

mysql> insert into DemoTable values('Adam',89);

mysql> insert into DemoTable values('Chris',89);

mysql> insert into DemoTable values('Chris',89);

mysql> insert into DemoTable values('Bob',98);

mysql> insert into DemoTable values('Bob',89);

使用select语句显示表中的所有记录-mysql> select *from DemoTable;

这将产生以下输出-+-------+-------+

| Name  | Score |

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

| Adam  |    89 |

| Adam  |    89 |

| Chris |    89 |

| Chris |    89 |

| Bob   |    98 |

| Bob   |    89 |

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

6 rows in set (0.00 sec)

以下是使用NOT实现条件GROUP BY的查询IN()-mysql> select distinct Name from DemoTable where Name

not in(select Name from DemoTable where Score <> 89);

这将产生以下输出-+-------+

| Name  |

+-------+

| Adam  |

| Chris |

+-------+q

2 rows in set (0.06 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值