首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel公式练习44: 从多列中返回唯一且按字母顺序排列的列表

本次的练习是:如下图1所示,单元格区域A2:E5中包含一系列值和空单元格,其中有重复值,要求从该单元格区域中生成按字母顺序排列的不重复值列表,如图1中G列所示。 ?...图1 在单元格G1中编写一个公式,下拉生成所要求的列表。 先不看答案,自已动手试一试。...在单元格H1中的公式比较直接,是一个获取列表区域唯一值数量的标准公式: =SUMPRODUCT((Range1"")/COUNTIF(Range1,Range1&"")) 转换为: =SUMPRODUCT...唯一不同的是,Range1包含一个4行5列的二维数组,而Arry4是通过简单地将Range1中的每个元素进行索引而得出的,实际上是20行1列的一维区域。...统计列表区域中唯一值数量。 2. 将二维区域转换成一维区域。 3. 强制INDEX返回数组。 4. 确定字母排序。 5. 提取唯一值并按字母排序。

4.2K31

MySQL的join关键字详解

JOIN是通过使用从两个表字段共通的值组合连接起来。MySQL官方只提供了三种join方式,内连接、左连接和右连接,不支持其他的连接关键字。但是可以通过一定的语法将达到其他的连接的效果。...查询比较表1中的每一行与表2中的每一行,找到所有满足联接谓词的行。 当联接谓词被满足时,对于每个匹配的一对A和B的列值被组合成一个结果行。...这意味着,如果在ON子句在右边的表匹配0(零)个记录,则连接将仍然在结果返回一行,但用NULL显示在右表中的每一列中。...右外连接 right join SQL RIGHT JOIN返回右表所有行,即使在左表中没有匹配。这意味着,如果ON子句匹配左表0(零)记录, 连接仍返回一行结果,但用NULL代替左表中的每一列。...右连接 同理,右连接是在右外连接的结果中得到B表独有的那一部分 SELECT tableB.column1, tableB.column2… FROM tableA RIGHT JOIN tableB

1.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    图解MySQL的join关键字(7大分类,一目了然)

    SQL Join 连接子句用于在两个或更多在数据库中的表的记录组合。JOIN是通过使用从两个表字段共同的值组合连接起来。...INNER JOIN通过结合基于联接谓词两个表(表1和表2)列值创建一个新的结果表。查询比较表1中的每一行与表2中的每一行,找到所有满足联接谓词的行。...当联接谓词被满足时,对于每个匹配的一对A和B的列值被组合成一个结果行。...这意味着,如果在ON子句在右边的表匹配0(零)个记录,则连接将仍然在结果返回一行,但用NULL显示在右表中的每一列中。...这意味着,如果ON子句匹配左表0(零)记录, 连接仍返回一行结果,但用NULL代替左表中的每一列。

    6.4K10

    Excel必学技能 -- VLOOKUP纵向查找函数

    VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导入数据等函数功能。...功能是按列查找,最终返回该列所需查询序列所对应的值;与之对应的HLOOKUP是按行查找的。...-- 来源百度百科 VLOOKUP函数其实类似于下方的一个SQL语句: update tableA set tableA.value = (select value from tableB where...tableA.id = tableB.id) VLOOKUP函数用法: 图片来源:怎样快速掌握 VLookup?...Excel表格,我需要用id作为关键字,从tableA工作簿中找到某id对应的人物绰号插入到tableB工作簿中,如下图: tableA工作簿 tableA工作簿 此时对应的VLOOKUP函数应该这么写

    1.5K10

    MySQL(五)之DDL(数据定义语言)与六大约束

    接下来,我将分享的是MySQL的DDL用来对数据库及表进行操作的。   mysql中保存了很多数据库、一个数据库中可以保存很多表。   ...注意:这里的操作对象是表,对表的操作也就是表的结构,和表中的字段的操作(字段和记录要分清楚)   前提:表是在数据库下的,所以要先确实使用哪个数据库。...解释:1、[]中括号中的内容表示可以有可以没有,2、列级别这个“列”一定要搞清楚说的是什么,一张表中有行有列,列表示竖,行表示横      2)创建一个没有约束的表 ?     ...外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。     ..._1的外键关联了tableA和tableB两个表,被外键约束修饰的字段为tableB中的deptId,主键字段为tableA中的id  4.3、非空约束     NOT NULL:被该约束修饰了的字段

    2K90

    文献笔记五十四:全基因组关联分析鉴定拟南芥中控制种子大小的调节因子

    重复一篇文献的GWAS(一):基因型数据整理 重复一篇文献的GWAS(二):用GEMMA跑GWAS 重点关注论文中GWAS的分析过程,争取根据两篇简书文章重复出分析过程 测量种子大小 (Seed size...,需要在fam文件最后一列(-9)修改为真实表型值,这里我使用https://www.jianshu.com/p/fc628bd1001b 中提到的第二种方法 代码 import pandas as pd...tableA = pd.read_excel("add_Pheno_to_fam.xlsx",sheet_name="Sheet3",converts={'A':str}) tableB = pd.read_excel...("add_Pheno_to_fam.xlsx",sheet_name="Sheet2",converts={'A':str}) tableA.head() tableB.head() tableA.merge...(right=tableB,how="left",left_on="A",right_on="A") tableC = tableA.merge(right=tableB,how="left",left_on

    2.1K20

    hhdb数据库介绍(10-40)

    例如脱敏列填入的列名为“password”,系统只脱敏选择的表中名为“password”的列;当选择“列名前缀匹配”,脱敏列填入如“pass”,系统将脱敏选择的表中所有以“pass”开头的列,包括名为“...tableA [inner/left/right] JOIN tableB … d)SELECT * FROM tableA UNION [ALL] SELECT * FROM tableB e)...当同一列同时匹配到一个“列名前缀匹配”的脱敏规则和一个“列名后缀匹配”的脱敏规则时,以“列名前缀匹配”的脱敏规则中的替换内容进行脱敏。...示例如下:对a@@hhdb.com数据为例进行脱敏,替换内容为"*", 从右第12位脱敏2位: a a @ h h d b . c o m 第12位 11 10 9 8 7 6 5 4 3 2 1...12 脱敏2位 1 2 脱敏结果 * * @ h h d b . c o m 从右第12位脱敏13位: a a @ h h d b . c o m 第12位 11

    6610

    Go 的垃圾回收机制在实践中有哪些需要注意的地方?

    调优性能的过程中我从cpuprof的结果发现发现gc的scanblock调用占用的cpu竟然有40%多,于是我开始搞各种对象重用和尽量避免不必要的对象创建,效果显著,CPU占用降到了10%多。...首先,可以推断gc执行时间跟数据量是相关的,内网数据少外网数据多。其次,gc追踪信息把对象数量当成重点数据来输出,估计扫描是按对象扫描的,所以对象多扫描时间长,对象少扫描时间短。...和tableC这样的一对一的数据,也有一堆类似tableB这样的一对多的数据。...假设有1万个玩家,每个玩家都有一条tableA和一条tableC的数据,又各有10条tableB的数据,那么将总的产生1w (tables) + 1w (tableA) + 1w (tableC) +.../ 玩家数据表的集合type tables struct { tableA tableA tableB []tableB tableC tableC

    1.2K60

    mysql的左右连接_MySQL之左连接与右连接

    左连接: select 列1,列2,列N from tableA left join tableB on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一张普通表看...右连接: select 列1,列2,列N from tableA right join tableB on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一张普通表看...内连接: select 列1,列2,列N from tableA inner join tableB on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一张普通表看...内连接:查询左右表都有的数据,不要左/右中NULL的那一部分 内连接是左右连接的交集。 能否查出左右连接的并集呢?...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    12.8K10

    MySQL

    LEFT JOIN TanleB ON condition; JOIN 是查询关键词,基础结构是TableA JOIN TableB ,即表A关联表B查询,LEFT表示左连接 ON 是关联查询的条件...,假删除,是一种数据库操作,使用标记将数据不可用,而不从数据库删除数据本身 2 右连接 语法 SELECT * FROM TableA RIGHT JOIN TableB ON condition...内连接 INNER连接 例如两个表TableA,TableB 查找A,B同时符合某一条件的数据 SELECT * FROM TableA INNER JOIN TableB ON TableA.id...= TableB.student_id; 外连接的拓展 指除了A,B重合部分外,如A部分或者B部分 SELECT * FROM TableA LEFT JOIN TableB ON TableA.id...= TableB.student_id; 相当于AB左右连接 UNION 关键字可以将两个查询语句的结果合并,并去除重复数据 笛卡尔积 cross join 6.

    76441

    构建一个优秀的SQL及优化方案

    必要的查询字段---由于存储的特性,选择需要的字段可加快字段的读取、减少数据量。避免采用*读取所有字段。一般再CTE模式中这种风险不是很明显为什么要避免使用*?它带来的风险?...- 它会增加查询分析SQL的成本(在数据库需要解析更多的对象、字段、权限、属性等相关内容,在复杂SQL语句,硬解析较多的情况下,会对服务造成沉重的负担)- 网络以及IO开销增长(*查询时会误带上非必要的数据...tableA必要的筛选条件---对比大部分的查询SQL来说并非是查询全量数据,一般都是N天(它一般是数据的分区)的数据量级,并且如果多种类型的数据保存再一张表中,需要特意增加该类型的筛选方式。...FROM t错误的SQL:SELECT id ,pv, uv , pv/uv rate FROM tableA虚拟列非常消耗资源浪费性能,拿到pv uv后在CTE构建的临时表中做比率计算。...不要在唯一列或大基数列上进行分组或去重操作---正确的SQL:SELECT id from tableA错误的SQL:SELECT id, count(1) cn from tableA group

    82050

    Go程序GC优化经验分享

    调优性能的过程中我从cpuprof的结果发现发现gc的scanblock调用占用的cpu竟然有40%多,于是我开始搞各种对象重用和尽量避免不必要的对象创建,效果显著,CPU占用降到了10%多。...: 最初的数据结构类似这样 1// 玩家数据表的集合 2type tables struct { 3 tableA *tableA 4 tableB *tableB...int64 23} 最初的设计会导致每个玩家有一个tables对象,每个tables对象里面有一堆类似tableA和tableC这样的一对一的数据,也有一堆类似tableB这样的一对多的数据。...假设有1万个玩家,每个玩家都有一条tableA和一条tableC的数据,又各有10条tableB的数据,那么将总的产生1w (tables) + 1w (tableA) + 1w (tableC) +.../ 玩家数据表的集合 2type tables struct { 3 tableA tableA 4 tableB []tableB 5 tableC

    6K40

    【Flink】第九篇:Flink SQL 性能优化实战

    问题 insert into tableB select a, max(b), max(c), sum(d) ... from tableA group by a 上面这个作业的简化版SQL,主要就是做一个分组聚合...: 从tableA分组聚合出结果插入tableB tableA的联合主键是:a,b(但是a的离散度已经很高了) tableA的Flink表类型为upset-kafka tableB的Flink...经过在对这个表在数仓中的数据进行分析,发现这个字段的离散度几乎接近于主键的离散度。...但是对于保存在 RocksDBStateBackend 中的对象,访问和更新涉及序列化和反序列化,所以会有更大的开销。但 RocksDB 的状态量仅受本地磁盘大小的限制。...的数据逻辑结构和redis相似,但是数据的物理存储结构又和hbase相似,继承自levelDB的LSM树思想,缺点是性能太低 而FsStateBackend是在做snapshot的时候才将内存的state

    2K30

    mysql子查询和连接查询(大数据联合计算)

    大家好,又见面了,我是你们的朋友全栈君。 一、连接查询 1、交叉连接:CROSS JOIN 把表A和表B的数据进行一个NM的组合,即笛卡尔积。...如本例会产生44=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。...INNER JOIN TableB ON TableA.name = TableB.name INNER JOIN 产生的结果是AB的交集 。...从左表中取出每一条记录,去右表中与所有的记录进行匹配: 匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不保留....: 子查询得到的结果是一行一列 列子查询: 子查询得到的结果是一列多行 行子查询: 子查询得到的结果是多列一行(多行多列) (1,2,3出现的位置都是在where之后) 表子查询: 子查询得到的结果是多行多列

    1.6K10

    oracle insert 将一张表数据插入另外表中

    将一张表的数据插入两外张表 以表B的数据插入表A, 表B有多少符合条件的数据, 表A就插入多少条数据 如表B符合条件有10条数据,表A也会添加10条数据 case 1 两张表的结构完全一样 insert...into tableA select * from tableB case 2, 两张表的结构不一样,只获取表B中符合条件的一些列的数据 insert into tableA (name,age)...select b.studentname, b.age from tableB b where b.id>30 case 3, 两种表的结构不一样,需要获取表B中的符合条件的一些列的数据,还要某些列的特定数据...如需要在表A的列添加老师,学校,值是 ‘陈大文’,‘光明中学’,而表B没有老师,学校列,那么可以以固定值出现在表B输出中 insert into tableA (name,age,teacher,school...) select b.studentname, b.age,’陈大文’,‘光明中学’ from tableB b where b.id>30 发布者:全栈程序员栈长,转载请注明出处:https://

    2.2K10

    MySQL数据高级查询之连接查询、联合查询、子查询

    大家好,又见面了,我是你们的朋友全栈君。 一、连接查询 1、交叉连接:CROSS JOIN 把表A和表B的数据进行一个NM的组合,即笛卡尔积。...如本例会产生44=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。...INNER JOIN TableB ON TableA.name = TableB.name INNER JOIN 产生的结果是AB的交集 。...从左表中取出每一条记录,去右表中与所有的记录进行匹配: 匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不保留....: 子查询得到的结果是一行一列 列子查询: 子查询得到的结果是一列多行 行子查询: 子查询得到的结果是多列一行(多行多列) (1,2,3出现的位置都是在where之后) 表子查询: 子查询得到的结果是多行多列

    6.2K10

    程序员老鸟写sql语句的经验之谈

    做管理系统的,无论是bs结构的还是cs结构的,都不可避免的涉及到数据库表结构的设计,sql语句的编写等。...新来的程序员老鸟,在一个开发团队中,需要表现一下自己的水平,奠定在公司的地位,需要努力表现一把,最简单的从写的sql语句就很容易表现出来,曾经就有一次,一个老程序员,上面定位是要做团队领导的,先历练一下做个制单的模块...,列表sql中有一列这位老鸟直接写了个select语句从别的表中取之,而不是用表之间关联得到,一下破坏自己程序员老鸟光辉形象。...不论一个sql中涉及到多个表,每次都用两个表(结果集)操作,得到新的结果后,再和下一个表(结果集)操作。 2....避免在select f1,(select f2 from tableB ).... from tableA 这样得到字段列。直接用tableA和tableB关联得到A.f1,B.f2就可以了。

    40430

    python操作Excel学习笔记,以后储存数据 办公很轻松!

    这个例子的思路首先要将第一行所有列的值,以及第一列所有行的值写入;接着某一个单元格的值就应该等于这个单元格所有行的第一列的值乘以所在列的第一行的值。具体实现如下: ? ?...这里第一步我们使用openpyxl.Workbook()函数创建了一个对象,并将该对象的引用返回存在wb变量中,而不是从已有的Excel文件加载。...实现思路为:逐行获取值,存为列表;最后将所有的行存成一个大的列表,这样“列表”[ i ][ j ]获得的就为第i行第j列的单元格的值;最后逐一取出列表的值,赋值给新列表第j行第i列的单元格。...第一个文本文件中的行将写入 列 A 中的单元格,第二个文本文件中的行将写入列 B 中的单元格,以此类推。 这里我准备了几份文本文件,我们将这些文件以单元格的形式写入Exel文件: ?...既然可以从文件写入Excel表格,反过来也可以将Excel中的内容写入文件,以列为单位,一列代表一个文件,写到txt文件中。有兴趣的看官可以尝试一下。

    4.4K10
    领券