mysql中不重复_mysql中distinct的用法(不重复记录)
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的用法(不重复记录)相关推荐
- mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天
mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...
- mysql group by 去除重复_mysql中distinct和group by过滤删除重复行
下面先来看看例子: 代码如下 table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的 ...
- mysql 中有没有临时表_MySQL 中的两种临时表
来源:阿里云RDS - 数据库内核组 链接:http://mysql.taobao.org/monthly/2016/06/07/ 外部临时表 通过CREATE TEMPORARY TABLE 创建的 ...
- mysql replace报错_Mysql中replace与replace into的用法讲解
Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...
- mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划
explain命令是查看查询优化器如何决定执行查询的主要方法. 这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的. 1.什么是MyS ...
- mysql添加临时索引_mysql 中添加索引的三种方法
在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...
- mysql替换首字母_MySQL中使用replace、regexp进行正则表达式替换的用法分析
这篇文章主要介绍了MySQL中使用replace.regexp进行正则表达式替换的用法,结合具体实例形式分析了replace.regexp正则替换的使用技巧与相关注意事项,需要的朋友可以参考下 本文实 ...
- mysql 电话模糊查询_mysql中的模糊查询
转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...
- mysql 通配符转转义_MySQL中的模糊查询和通配符转义
MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...
- mysql中text格式化_mysql中char,varchar,text
1.char char最大长度是255字符,注意是字符数和字符集没关系. 1)可以有默认值, 2)尾部有空格会被截断 3)不管汉字.英文,还是其他编码,都可以存255字符 2.varchar 1)va ...
最新文章
- 水稻微生物组时间序列分析2a-相关分析
- mysql 最大并发连接数
- 人工智能学习--文本检测和识别综述(2021)
- (转)用来理解Java的8个图表
- Nginx_日志文件讲解
- Redis- 内存数据库Redis之安装部署
- 快速搭建Springboot项目的两种方式!!
- 一些Web Service的经验
- layui 自定义request_layui中使用自定义数据格式对数据表格进行渲染
- 32位微型计算机原理接口,32位微机原理与接口实验箱
- C# Lamda中类似于SQL 中的 In 功能
- 微信公众平台二次开发技术文档
- ubuntu版网易云音乐下载
- 关于在窗体之间传值的问题 C# winform
- 无人机的分类(史上最全的无人机分类方法)
- 2021-10-04
- [SV] ignore_bins 用法
- 特征缩放(Feature Scaling)
- 银行管理系统(c链表实现)
- wps word修改目录行间距后出现空行的现象,且删除按键无效
热门文章
- 《中国人工智能学会通讯》——4.40 什么是类人概念学习?
- SQL Server 中位数、标准差、平均数
- 在centos上安装nginx
- oracle 查询判断语句
- 利用正则表达式限制网页表单里的文本框输入内容
- 《Microsoft Sql server 2008 Internal》读书笔记--第六章Indexes:Internals and Management(10)
- Windows Phone 项目实战之账户助手
- LINQ分组查询统计
- 客户端可以连接 .Net程序不能连接SQL Server 2000
- 8.企业安全建设指南(金融行业安全架构与技术实践) --- 安全考核