• 售前

  • 售后

热门帖子
入门百科

MySQL关键字Distinct的详细先容

[复制链接]
陈陈430 显示全部楼层 发表于 2021-10-25 19:59:51 |阅读模式 打印 上一主题 下一主题
MySQL关键字Distinct用法先容
DDL
Prepare SQL:
  1. create table test(id bigint not null primary key auto_increment,
  2.    name varchar(10) not null,
  3.    phone varchar(10) not null,
  4.    email varchar(30) not null)engine=innodb;
复制代码
Prepare Data:
  1. insert into test(name, phone, email)values('alibaba','0517','alibaba@alibaba.com');
  2.   insert into test(name, phone, email)values('alibaba','0517','alibaba@alibaba.com');
  3.   insert into test(name, phone, email)values('baidu','010','baidu@baidu.com');
  4.   insert into test(name, phone, email)values('tencent','0755','tencent@tencent.com');
  5.   insert into test(name, phone, email)values('vipshop','020','vipshop@vipshop.com');
  6.   insert into test(name, phone, email)values('ctrip','021','ctrip@ctrip.com');
  7.   insert into test(name, phone, email)values('suning','025','suning@suning.com');
复制代码
查询数据如下图所示:

第一种环境,使用Distinct关键字,查询单列数据,如下图所示:


结果:对 name 字段举行去重处置惩罚,符合预期期望,确实筛选掉了重复的字段值alibaba;
第二种环境,使用Distinct关键字(在前),查询多列数据,如下图所示:


结果:对 name 字段举行去重处置惩罚,结果不符合预期期望,没有筛选掉重复的字段值alibaba;
第二种环境,使用Distinct关键字(在后),查询多列数据,如下图所示:



结果:对 name 字段举行去重处置惩罚,结果不符合预期期望,抛出SQL非常,错误码:1064;
办理办法:

不要用子查询,用分组来办理:


总结: SQL查询能用一条语句办理的尽量不要增长SQL的复杂度,特殊是子查询!!!
以上就是关于MySQL关键字Distinct用法的解说,如有疑问,请留言或者到本站设讨论,感谢阅读,渴望能帮助到各人,谢谢各人对本站的支持!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作