MySQL过滤重复数据的两种方法示例
目录
- 方法1:加关键字 DISTINCT
- 方法2:用GROUP By 分组
- 最后
方法1:加关键字 DISTINCT
在mysql中,可以利用“SELECT”语句和“DISTINCT”关键字来进行去重查询,过滤掉重复的数据,语法“SELECT DISTINCT 字段名 FROM 数据表名;”。
DISTINCT 关键字的语法格式为:
SELECT DISTINCT <字段名> FROM <表名>;
其中,“字段名”为需要消除重复记录的字段名称,多个字段时用逗号隔开。
示例
-- 示例1 SELECT DISTINCT name FROM Product WHERE price>100; -- 示例2 SELECT DISTINCT name,age FROM student;
使用 DISTINCT 关键字时需要注意以下几点:
- DISTINCT 关键字只能在 SELECT 语句中使用。
- 在对一个或多个字段去重时,DISTINCT 关键字必须在所有字段的最前面。
- 如果 DISTINCT 关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重。
在 MySQL 中使用SELECT
语句执行简单的数据查询时,返回的是所有匹配的记录。如果表中的某些字段没有唯一性约束,那么这些字段就可能存在重复值。为了实现查询不重复的数据,MySQL 提供了DISTINCT
关键字。
DISTINCT 关键字的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据给用户。
方法2:用GROUP By 分组
group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面。
示例
-- GROUP By后面出现的属性并需在SELECT后面也出现 SELECT name FROM Product WHERE price<100 GROUP By name;
最后
到此这篇关于MySQL过滤重复数据的两种方法的文章就介绍到这了,更多相关MySQL过滤重复数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
关于MySQL 大批量插入时如何过滤掉重复数据
目录 一.发现问题 二.删除全部重复数据,一条不留 三.删除表中删除重复数据,仅保留一条 四.开始删除重复数据,仅留一条 前言: 加班原因是上线,解决线上数据库存在重复数据的问题,发现了程序的bug,很好解决,有点问题的是,修正线上的重复数据. 线上库有6个表存在重复数据,其中2个表比较大,一个96万+.一个30万+,因为之前处理过相同的问题,就直接拿来了上次的Python去重脚本,脚本很简单,就是连接数据库,查出来重复数据,循环删除. emmmm,但是这个效率嘛,实在是太低了,1秒一条,重复数
-
MySQL过滤重复数据的两种方法示例
目录 方法1:加关键字 DISTINCT 方法2:用GROUP By 分组 最后 方法1:加关键字 DISTINCT 在mysql中,可以利用“SELECT”语句和“DISTINCT”关键字来进行去重查询,过滤掉重复的数据,语法“SELECT DISTINCT 字段名 FROM 数据表名;”. DISTINCT 关键字的语法格式为: SELECT DISTINCT <字段名> FROM <表名>; 其中,“字段名”为需要消除重复记录的字段名称,多个字段时用逗号隔开. 示例 -- 示
-
mysql大批量插入数据的4种方法示例
前言 本文主要给大家介绍了关于mysql大批量插入数据的4种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法一:循环插入 这个也是最普通的方式,如果数据量不是很大,可以使用,但是每次都要消耗连接数据库的资源. 大致思维如下 (我这里写伪代码,具体编写可以结合自己的业务逻辑或者框架语法编写) for($i=1;$i<=100;$i++){ $sql = 'insert...............'; //querysql } foreach($arr as $key =
-
Python实现删除排序数组中重复项的两种方法示例
本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不能为新数组申请额外的空间,只允许申请O(1)的额外空间修改输入数组 Example 1: Given nums = [1,1,2], Your function should return length = 2, with the first two elements of nums being 1
-
php获取数组中重复数据的两种方法
(1)利用php提供的函数,array_unique和array_diff_assoc来实现 复制代码 代码如下: <?php function FetchRepeatMemberInArray($array) { // 获取去掉重复数据的数组 $unique_arr = array_unique ( $array ); // 获取重复数据的数组 $repeat_arr = array_diff_assoc ( $array, $unique_arr );
-
c# 向MySQL添加数据的两种方法
下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连接字符串,然后执行Open操作打开数据库,在正确打开数据库之后我们才能进行相关的动作,在ExecuteSQL这个函数中, 我们执行MySqlCommand myCmd = new MySqlCommand(CmdString, conn),从而创建MySqlCommand对象,其中传入的两个参数分别
-
jQuery的 $.ajax防止重复提交的两种方法(推荐)
下面给大家带来两种关于jquery 的ajax防止重复提交的解决方法,具体介绍如下所示: 1.第一种,对于onclick事件触发的的ajax 可以采用如下方法: 即在beforeSend中使点击按钮不可用,ajax结果返回后置为可用 $.ajax( { type: 'POST', url: APP+'?m=Shopping&a=ajaxSubmitorder&sid='+sid+'&src='+src, cache:false, dataType: 'json', data: {'
-
c#读取excel数据的两种方法实现
方法一:OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不太灵活,不过可以在 DataTable 中对数据进行一些删减修改. 优点:读取方式简单.读取速度快 缺点:除了读取过程不太灵活之外,这种读取方式还有个弊端就是,当Excel数据量很大时.会非常占用内存,当内存不够时会抛出内存溢出的异常. 不过一般情况下还是非常不错的. (代码比原文相较有所修改) DataTable GetDataFromExcelByConn(bool hasTitle = false)
-
C#去除DataTable重复数据的三种方法
业务需求 最近做一个把源数据库的数据批次导出到目标数据库.源数据库是采集程序采集而来的原始数据库,所以需要对其进行一些处理(过滤一些为空,长度太短或太长,非法字符,重复数据)然后在进行入库. 其中要避免目标库插入重复数据.这重复数据可能是源数据库本身就有重复数据,还有就是已经插入避免重复插入. 过滤自身重复数据解决方案 第一种:采用DataView.ToTable()方法 DataView.ToTable 方法 .NET Framework 2.0 其根据现有 DataView中的行,创建并返回
-
springmvc 防止表单重复提交的两种方法
目录 1.通过session中的token验证 步骤1:创建自定义注解 步骤2:创建自定义拦截器(@slf4j是lombok的注解) 步骤3:将自定义拦截器添加到配置文件 2.通过当前用户上一次请求的url和参数验证重复提交 步骤1:创建自定义注解 步骤2:创建自定义拦截器 步骤3:将自定义拦截器添加到配置文件 最近在本地开发测试的时候,遇到一个表单重复提交的现象. 因为网络延迟的问题,我点击了两次提交按钮,数据库里生成了两条记录.其实这种现象以前也有遇到过,一般都是提交后把按钮置灰,无法再次提
-
使用Java构造和解析Json数据的两种方法(详解二)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包. 在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Json数据的方法
随机推荐
- 大数据量时提高分页的效率
- linux停止和查看启动服务的命令使用方法
- php将字符串转化成date存入数据库的两种方式
- 用PHP写的MySQL数据库用户认证系统代码
- php使用PDO事务配合表格读取大量数据插入操作实现方法
- Android自定义控件实现可多选课程日历CalendarView
- Android中WebView的一些简单用法
- 利用javascript的面向对象的特性实现限制试用期
- java编写简单的ATM存取系统
- sqlserver中遍历字符串的sql语句
- Java枚举类用法实例
- java中字符串参数化符号${}的解析
- Android 保存Fragment 切换状态实例代码
- c# 实现子窗口关闭父窗口也关闭的方法
- Andriod使用多线程实现轮播图片
- Java Web实现添加定时任务的方法示例
- 详解自定义ajax支持跨域组件封装
- 微信小程序实现动态获取元素宽高的方法分析
- python多线程分块读取文件
- Linux文件操作高频使用命令小结