distinct这个关键字用来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。

下面先来看看例子:

table表

字段1     字段2

id        name

1           a

2           b

3           c

4           c

5           b

库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。

比如我想用一条语句查询得到name不重复的所有数据,那就必须

使用distinct去掉多余的重复记录。

select distinct name from table

得到的结果是:

----------

name

a

c

好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:

select distinct name, id from table

结果会是:

----------

id name

1 a

2 b

3 c

4 c

5 b

distinct怎么没起作用?作用是起了的,不过他同时作用了两个

字段,也就是必须得id与name都相同的才会被排除

我们再改改查询语句:

select id, distinct name from table

很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。

--------------------------------------------------------

下面方法可行:

select *, count(distinct name) from table group by name

结果:

id name count(distinct name)

1 a 1

2 b 1

3 c 1

最后一项是多余的,不用管就行了,目的达到

group by 必须放在 order by 和 limit之前,不然会报错

其实这样也可以达到目的:

SELECT * FROM table GROUP BY name

mysql中不重复_mysql中distinct的用法(不重复记录)相关推荐

  1. mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天

    mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...

  2. mysql group by 去除重复_mysql中distinct和group by过滤删除重复行

    下面先来看看例子: 代码如下 table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的 ...

  3. mysql 中有没有临时表_MySQL 中的两种临时表

    来源:阿里云RDS - 数据库内核组 链接:http://mysql.taobao.org/monthly/2016/06/07/ 外部临时表 通过CREATE TEMPORARY TABLE 创建的 ...

  4. mysql replace报错_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

  5. mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划

    explain命令是查看查询优化器如何决定执行查询的主要方法. 这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的. 1.什么是MyS ...

  6. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  7. mysql替换首字母_MySQL中使用replace、regexp进行正则表达式替换的用法分析

    这篇文章主要介绍了MySQL中使用replace.regexp进行正则表达式替换的用法,结合具体实例形式分析了replace.regexp正则替换的使用技巧与相关注意事项,需要的朋友可以参考下 本文实 ...

  8. mysql 电话模糊查询_mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

  9. mysql 通配符转转义_MySQL中的模糊查询和通配符转义

    MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...

  10. mysql中text格式化_mysql中char,varchar,text

    1.char char最大长度是255字符,注意是字符数和字符集没关系. 1)可以有默认值, 2)尾部有空格会被截断 3)不管汉字.英文,还是其他编码,都可以存255字符 2.varchar 1)va ...

最新文章

  1. 水稻微生物组时间序列分析2a-相关分析
  2. mysql 最大并发连接数
  3. 人工智能学习--文本检测和识别综述(2021)
  4. (转)用来理解Java的8个图表
  5. Nginx_日志文件讲解
  6. Redis- 内存数据库Redis之安装部署
  7. 快速搭建Springboot项目的两种方式!!
  8. 一些Web Service的经验
  9. layui 自定义request_layui中使用自定义数据格式对数据表格进行渲染
  10. 32位微型计算机原理接口,32位微机原理与接口实验箱
  11. C# Lamda中类似于SQL 中的 In 功能
  12. 微信公众平台二次开发技术文档
  13. ubuntu版网易云音乐下载
  14. 关于在窗体之间传值的问题 C# winform
  15. 无人机的分类(史上最全的无人机分类方法)
  16. 2021-10-04
  17. [SV] ignore_bins 用法
  18. 特征缩放(Feature Scaling)
  19. 银行管理系统(c链表实现)
  20. wps word修改目录行间距后出现空行的现象,且删除按键无效

热门文章

  1. 《中国人工智能学会通讯》——4.40 什么是类人概念学习?
  2. SQL Server 中位数、标准差、平均数
  3. 在centos上安装nginx
  4. oracle 查询判断语句
  5. 利用正则表达式限制网页表单里的文本框输入内容
  6. 《Microsoft Sql server 2008 Internal》读书笔记--第六章Indexes:Internals and Management(10)
  7. Windows Phone 项目实战之账户助手
  8. LINQ分组查询统计
  9. 客户端可以连接 .Net程序不能连接SQL Server 2000
  10. 8.企业安全建设指南(金融行业安全架构与技术实践) --- 安全考核