标签:VBA 自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。...图1 使用VBA,可以自动执行这样的操作,删除工作表所有数据列中的重复行,或者指定列的重复行。 下面的Excel VBA代码,用于删除特定工作表所有列中的所有重复行。...如果没有标题行,则删除代码后面的部分。...如果只想删除指定列(例如第1、2、3列)中的重复项,那么可以使用下面的代码: Sub DeDupeColSpecific() Cells.RemoveDuplicates Columns:=Array...(1, 2, 3), Header:=xlYes End Sub 可以修改代码中代表列的数字,以删除你想要的列中的重复行。
; 多个列组合在一起创建的索引叫做联合索引 什么情况下可以创建索引?...1.字段的数值有唯一性的限制,比如id 2.频繁作为 WHERE 查询条件的字段,尤其在数据表大的情况下 如果在数据量非常大的情况下,没有 WHERE 条件过滤是非常可怕的。...,然后再对它进行更新或删除,非索引字段更新数据效果更明显; 如果索引太多了,在更新数据的时候,如果涉及到索引更新,就会造成负担。...那么是不需要创建索引; 3.字段中如果有大量重复数据,也不用创建索引,比如性别字段; 4.频繁更新的字段不一定要创建索引。...因为更新数据的时候,也需要更新索引,如果索引太多,在更新索引的时候也会造成负担,从而影响效率; 什么情况下索引失效?
索引的分类 1.普通索引(normal):没有任何约束,主要用于提高查询效率 2.唯一索引(UNIQUE):在普通索引的基础上增加了数据唯一性的约束,可以有多个 3.主键索引(primary key):...; 多个列组合在一起创建的索引叫做联合索引 什么情况下可以创建索引?...1.字段的数值有唯一性的限制,比如id 2.频繁作为 WHERE 查询条件的字段,尤其在数据表大的情况下 如果在数据量非常大的情况下,没有 WHERE 条件过滤是非常可怕的。...那么是不需要创建索引; 3.字段中如果有大量重复数据,也不用创建索引,比如性别字段; 4.频繁更新的字段不一定要创建索引。...因为更新数据的时候,也需要更新索引,如果索引太多,在更新索引的时候也会造成负担,从而影响效率; 什么情况下索引失效?
varchar2虽然比char节省空间,但是假如一个varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起“行迁移”现象,而这造成多余的I/O,是数据库设计中要尽力避免的,这种情况下用char...inner join 内连接,只保留两张表中完全匹配的结果集; left join会返回左表所有的行,即使在右表中没有匹配的记录; right join会返回右表所有的行,即使在左表中没有匹配的记录;...truncate table通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 truncate table删除表中的所有行,但表结构及其列、约束、索引等保持不变。...如: select username,tel from user union select departmentname from department 这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录...无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎。
Innodb存储引擎 没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5.6以后默认的为Innodb...inner join 内连接,只保留两张表中完全匹配的结果集; left join会返回左表所有的行,即使在右表中没有匹配的记录; right join会返回右表所有的行,即使在左表中没有匹配的记录...truncate table通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 truncate table删除表中的所有行,但表结构及其列、约束、索引等保持不变。...18、操作delete或者update语句,加个limit或者循环分批次删除 (1)降低写错SQL的代价 清空表数据可不是小事情,一个手抖全没了,删库跑路?...如: select username,tel from user union select departmentname from department 这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录
输入: 输出: 答案: 10.没有硬编码的情况下,在numpy中如何生成自定义序列? 难度:2 问题:创建以下模式而不使用硬编码。只能使用numpy函数和输入数组a。...难度:1 问题:将python numpy数组a中打印的元素数量限制为最多6个。 输入: 输出: 答案: 24.如何在不截断的情况下打印完整的numpy数组?...难度:2 问题:在iris_2d的sepallength(第1列)中查找缺失值的数量和位置。 答案: 34.如何根据两个或多个条件过滤一个numpy数组?...难度:3 问题:过滤具有petallength(第3列)> 1.5和sepallength(第1列)<5.0的iris_2d的行。 答案: 35.如何从numpy数组中删除包含缺失值的行?...难度:3: 问题:选择没有nan值的iris_2d数组的行。 答案: 36.如何找到numpy数组的两列之间的相关性?
left join 在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。...right join 在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。...//分批进行删除,如每次500delete user where id=500 and id<1000; 理由: 一次性删除太多数据,可能会有lock...如果已知检索结果没有重复记录,使用union all 代替union,这样会提高效率。 22、索引不宜太多,一般5个以内。...24、索引不适合建在有大量重复数据的字段上,如性别这类型数据库字段。
SQL 目录 检索 过滤检索结果 数据汇总处理 分组 给检索结果排序 表操作 插入数据 更新删除数据 子查询-迭代查询 联结-关联多个表 组合查询 视图 其它 检索 检索某表中单个列: SELECT 列名...FROM 表名; 检索某表中多个列: SELECT 列名,列名,列名 FROM 表名; 检索某表中所有列:(尽量不用) SELECT * FROM 表名; 只检索某表中某列里不重复的项: SELECT...*可以换成指定列如:cust_email。计算所得行数不包括该列值为null的行。 DISTINCT 列名,求不重复的列。...CHECK 检查约束,用于限制列中的值的范围。 DEFAULT 默认约束,用于向列中插入默认值每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。...一个SET可以跟多个列用逗号隔开。 删除某个值,即设置他为NULL。
FROM 表名; 检索某表中多个列: SELECT 列名,列名,列名 FROM 表名; 检索某表中所有列:(尽量不用) SELECT * FROM 表名; 只检索某表中某列里不重复的项: SELECT...中,选第n行后的五行。...*可以换成指定列如:cust_email。计算所得行数不包括该列值为null的行。 DISTINCT 列名,求不重复的列。...CHECK 检查约束,用于限制列中的值的范围。 DEFAULT 默认约束,用于向列中插入默认值 每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。...一个SET可以跟多个列用逗号隔开。 删除某个值,即设置他为NULL。
云豆贴心提醒,本文阅读时间7分钟 sort是什么 Sort是用于对单个或多个文本文件内容进行排序的Linux程序。 Sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序。...请注意,除非你将输出重定向到文件中,否则Sort命令并不对文件内容进行实际的排序(即文件内容没有修改),只是将文件内容按有序输出。...9、输出内容重定向 sort命令并非仅能对文件进行排序,我们还可以通过管道将命令的输出内容重定向到sort命令中。 ? ? 10、排序并去重 对文件tecmint.txt进行排序,并删除重复的行。...然后检查重复的行是否已经删除了。 ? ?...13、两个文件排序合并并去重 现在我们看看怎样对两个文件进行排序、合并,并且删除重复行。 ? ? 此时,我们注意到重复的行已经被删除了,我们可以将输出内容重定向到文件中。
left join 在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。...right join 在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。...正例: //分批进行删除,如每次500 delete user where id < 500 delete product where id >= 500 and id < 1000; 理由: 一次性删除太多数据...如果已知检索结果没有重复记录,使用union all 代替union,这样会提高效率。 22、索引不宜太多,一般5个以内。...24、索引不适合建在有大量重复数据的字段上,如性别这类型数据库字段。
排序 指导您如何对查询返回的结果集进行排序。 去重查询 为您提供一个删除结果集中重复行的子句。 第 2 节. 过滤数据 主题 描述 WHERE 根据指定条件过滤行。...连接多个表 主题 描述 连接 向您展示 PostgreSQL 中连接的简要概述。 表别名 描述如何在查询中使用表别名。 内连接 从一个表中选择在其他表中具有相应行的行。...左连接 从一个表中选择行,这些行在其他表中可能有也可能没有对应的行。 自连接 通过将表与自身进行比较来将表与其自身连接。 完全外连接 使用完全连接查找一个表中在另一个表中没有匹配行的行。...交叉连接 生成两个或多个表中的行的笛卡尔积。 自然连接 根据连接表中的公共列名称,使用隐式连接条件连接两个或多个表。 第 4 节....PostgreSQL 技巧 主题 描述 如何比较两个表 描述如何比较数据库中两个表中的数据。 如何在 PostgreSQL 中删除重复行 向您展示从表中删除重复行的各种方法。
,也不会使用索引 不满足最左匹配原则 用or分割开的条件,or前条件有索引,or后的列没有索引 order by在select 中查询的列,包含索引没有包含的列,也会不使用索引...union(去重复)与union all (不去重复) 所以union all比union效率高,都满足的情况下尽量使用union all。...有人测试过这方面,有不同的看法,欢迎在评论区讨论 select 避免使用“*: 因为在mysql中,服务器响应给用户的数据通常会很多,由多个数据包组成。...用UNION替换OR (适用于索引列) 通常情况下, 用UNION替换WHERE子句中的OR将会起到较好的效果. 对索引列使用OR可能造成全表扫描. 注意, 以上规则只针对多个索引列有效....('张三','18668247652')这种场景也是一样,当name匹配成功后,没有age这个二级索引,只能在name相同的情况下,去遍历所有的phoneNum。
领取专属 10元无门槛券
手把手带您无忧上云