MySQL关键字Distinct的详细介绍

作者:lqh 时间:2024-01-27 11:44:47 

MySQL关键字Distinct用法介绍

DDL

Prepare SQL:


create table test(id bigint not null primary key auto_increment,
  name varchar(10) not null,
  phone varchar(10) not null,
  email varchar(30) not null)engine=innodb;

Prepare Data:


insert into test(name, phone, email)values('alibaba','0517','alibaba@alibaba.com');
 insert into test(name, phone, email)values('alibaba','0517','alibaba@alibaba.com');
 insert into test(name, phone, email)values('baidu','010','baidu@baidu.com');
 insert into test(name, phone, email)values('tencent','0755','tencent@tencent.com');
 insert into test(name, phone, email)values('vipshop','020','vipshop@vipshop.com');
 insert into test(name, phone, email)values('ctrip','021','ctrip@ctrip.com');
 insert into test(name, phone, email)values('suning','025','suning@suning.com');

查询数据如下图所示:

MySQL关键字Distinct的详细介绍

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

MySQL关键字Distinct的详细介绍

结果:对 name 字段进行去重处理,符合预期期望,确实筛选掉了重复的字段值alibaba;

第二种情况,使用Distinct关键字(在前),查询多列数据,如下图所示:

MySQL关键字Distinct的详细介绍

结果:对 name 字段进行去重处理,结果不符合预期期望,没有筛选掉重复的字段值alibaba;

第二种情况,使用Distinct关键字(在后),查询多列数据,如下图所示:

MySQL关键字Distinct的详细介绍

结果:对 name 字段进行去重处理,结果不符合预期期望,抛出SQL异常,错误码:1064;

解决办法:

不要用子查询,用分组来解决:

MySQL关键字Distinct的详细介绍

总结: SQL查询能用一条语句解决的尽量不要增加SQL的复杂度,特别是子查询!!!

来源:http://blog.csdn.net/sxe18652071425/article/details/52003779

标签:MySQL,Distinct
0
投稿

猜你喜欢

  • sqlserver服务器验证改为混合验证模式步骤

    2024-01-20 18:02:28
  • 基于jquery的15款幻灯片插件

    2024-04-09 19:47:56
  • python实战之实现excel读取、统计、写入的示例讲解

    2022-02-12 17:42:15
  • 详解webpack3编译兼容IE8的正确姿势

    2024-02-26 23:18:17
  • 如何基于python实现不邻接植花

    2023-10-14 16:35:45
  • JS中检测数据类型的几种方式及优缺点小结

    2024-04-16 09:14:41
  • CSS的另类拼图___减少HTTP请求

    2009-05-28 19:05:00
  • pandas选择或添加列生成新的DataFrame操作示例

    2023-03-02 00:41:51
  • Python 学习笔记

    2022-06-18 07:12:31
  • Python利用memory_profiler查看内存占用情况

    2022-05-24 08:55:29
  • Apache部署Django项目图文详解

    2023-12-17 06:51:05
  • Python如何批量获取文件夹的大小并保存

    2023-10-10 19:49:37
  • python使用多线程不断刷新网页的方法

    2022-10-03 09:19:26
  • Python中True(真)和False(假)判断详解

    2021-12-16 11:22:36
  • python time模块时间戳 与 结构化时间详解

    2021-04-09 11:06:42
  • Data URI小试 —— 在旺旺点灯(JS)上的应用

    2009-10-30 18:28:00
  • golang操作elasticsearch的实现

    2024-02-04 08:42:45
  • 教你使用TensorFlow2识别验证码

    2022-06-26 19:24:38
  • VMWare linux mysql 5.7.13安装配置教程

    2024-01-14 04:17:43
  • python字典快速保存于读取的方法

    2022-02-18 02:22:11
  • asp之家 网络编程 m.aspxhome.com