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

【实战】将多个不规则多级表头工作合并为一个规范一维数据结果

最近在项目里,有个临时小需求,需要将一些行列交叉结构表格进行汇总合并,转换成规范一维数据结构进行后续分析使用。...从一开始想到使用VBA拼接字符串方式,完成PowerQueryM语言查询字符串,然后转换成使用插件方式来实现相同功能更顺手,最后发现,在当前工作薄里使用PowerQuery来获取当前工作薄其他工作内容...,也是可行,并且不需要转换智能可以数据抽取至PowerQuery内。...再最后,发现PowerQuery直接就支持了这种多工作合并,只要自定义函数,定义参数合适,直接使用自定义函数返回一个结果,就可以展开后得到多行记录纵向合并(类似原生PowerQuery在处理同一文件夹多个文件纵向合并效果...整个实现过程,也并非一步到位,借着在知识星球里发表,经过各星友一起讨论启发,逐渐完善起来最终结果。探索是曲折,但众人一起合力,就会有出乎意料精彩结果出来。

1.9K20

Excel应用实践16:搜索工作指定范围数据并将其复制到另一个工作

学习Excel技术,关注微信公众号: excelperfect 这里应用场景如下: “在工作Sheet1存储着数据,现在想要在该工作第O至第T搜索指定数据,如果发现,则将该数据所在行复制到工作...用户在一个对话框输入要搜索数据值,然后自动将满足前面条件所有行复制到工作Sheet2。” 首先,使用用户窗体设计输入对话框,如下图1所示。 ?...Set wks = Worksheets("Sheet1") With wks '工作最后一个数据行 lngRow = .Range("A" &Rows.Count...'由用户在文本框输入 FindWhat = "*" &Me.txtSearch.Text & "*" '调用FindAll函数查找数据值 '存储满足条件所有单元格...Sheets("Sheet2").Cells.Clear '获取数据单元格所在行并复制到工作Sheet2 For Each rngFoundCell

5.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

干货分享 | SQL join 你真的懂了吗?

如果将数据存储在关系数据,最好将数据规范化,通常需要将数据拆分为通过键逻辑连接多个。大多数非简易查询都需要多个连接来完成。本文简要介绍了SQL连接,重点介绍了内连接和外接之间区别。...当我们比较两个名称相同时,可以使用更短语法: select * from t1 inner join t2 using (id); 这个结果将只有一个id,因为我们明确表示用id匹配:...例如,考虑客户下订单,订单细节在一个单独(因为客户可以多个订单)。...最后,我们可能希望连接两边行总是出现在结果。...,union删除重复项,完整外部连接不删除;因此,在某些特殊情况下,结果可能会有所不同。

1K20

2-SQL语言中函数

含义: 又称为多表查询,查询字段来自多个,就会用到连接查询 分类: 按年代分类: sql92标准(仅支持内连接) sql99标准(除了全外连接外都支持)【推荐】按功能分类: 内连接(包括等值连接...,非等值连接,子连接) 外连接(包括左外连接,右外连接,全外连接) 交叉连接 # DQL函数语句--连接查询 /* 含义:又称为多表查询,查询字段来自多个,就会用到连接查询 分类: 按年代分类...`department_id`; # 外连接 /* 用于查询一个中有,另一个没有的记录 特点: 外连接查询结果为主表所有记录 如果中有和它匹配,则显示匹配值 如果没有匹配值...* FROM employees LIMIT 10,15; 联合查询 union查询: 将多条查询语句结果合并成一个结果 应用场景: 要查询结果来自多个,且多个没有直接连接关系,单查询信息一致...应用场景:要查询结果来自多个,且多个没有直接连接关系,单查询信息一致 特点: 要求多条查询语句查询数是一致 要求多条查询语句每一类型和顺序最好是一致 UNION关键字会自动去重,如果不想去重可以使用

2.8K10

Mysql优化-索引

存放是地址。 聚集索引与非聚集索引 聚集索引,常见就是主键,一个只能拥有一个聚集索引。一个可以拥有多个非聚集索引。...IN能使用到索引,但是内存在多个单列索引,MySQL不会自动选择in条件使用索引,即使它是最优索引。...使用IN查询数据为相同类型数据可以正常使用索引 但是,IN里面嵌套子查询索引就失效了!...,那么这里显示是别名,如果不涉及对数据操作,那么这显示为null,如果显示为尖括号括起来就表示这个是临时,后边N就是执行计划id,表示结果来自于这个查询产生。...其他数据库也叫做唯一索引扫描 eq_ref 出现在连接过个查询计划,驱动只返回一行数据,且这行数据是第二个主键或者唯一索引,且必须为not null,唯一索引和主键是多,只有所有的都用作比较才会出现

1.3K50

MySQL增删查改(二)

PRIMARY KEY - NOT NULL 和 UNIQUE 结合。确保某(或两个多个结合)有唯一标识,有助于更容易更快速地找到一个特定记录。...FOREIGN KEY - 保证一个数据匹配另一个参照完整性。 CHECK - 保证值符合指定条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。...三大范式: 第一范式(1NF): 第一范式是指数据每一都是不可分割基本数据项,同一不能有多个值,即实体某个属性不能有多个值,或不能有重复属性。...使用UNION和UNION ALL,前后查询结果集中,字段需要一致。 union 该操作符用于取得两个结果并集。使用该操作符,会自动去掉结果集中重复行。...使用该操作符,不会去掉结果集中重复行。

2.5K10

【MySQL】多表联合查询、连接查询、子查询「建议收藏」

【1】连接查询 连接查询意义: 在用户查看数据时候,需要显示数据来自多张....内连接查询 内连接查询是最常见连接查询,内连接查询可以查询两张或两张以上连接:[inner] join:从左取出每一条记录,去右与所有的记录进行匹配: 匹配必须是某个条件在左与右相同最终才会保留结果...,就可以通过该字段来连接查询这两个该字段值相同时就可以查出该记录。...子查询通常会使复杂查询变得简单,但是相关子查询要对基础每一条数据都进行子查询动作,所以表单数据过大,一定要慎重选择 带in关键字子查询 使用in关键字可以将原特定值与子查询返回结果集中值进行比较...any关键字子查询 any关键字表示满足其中任意一个条件,使用any关键字,只要满足内层查询语句结果任意一个,就可以通过该条件来执行外层查询语句。

3.9K20

MYSQL数据库-复合查询

本节我们用一个简单公司管理系统,有三张EMP,DEPT,SALGRADE来演示如何进行多表查询 示例: 显示雇员名、雇员工资以及所在部门名字 因为上面的数据来自EMP和DEPT,因此要联合查询...,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言,而多列子查询则是指查询返回多个数据子查询语句 示例:查询和SMITH部门和岗位完全相同所有雇员,不含SMITH本人 3、在from...(部门名,编号,地址)和人员数量 五、合并查询 在实际应用,为了合并多个select执行结果可以使用集合操作符 union,union all 1、union 该操作符用于取得两个结果并集...使用该操作符,会自动去掉结果集中重复行 示例:将工资大于2500或职位是MANAGER的人找出来 2、union all 该操作符用于取得两个结果并集。...使用该操作符,不会去掉结果集中重复行 示例:将工资大于25000或职位是MANAGER的人找出来

13.2K30

SQL JOIN 子句:合并多个相关行完整指南

SQL JOIN JOIN子句用于基于它们之间相关合并来自两个或更多表行。...) JOIN:返回右所有记录以及左匹配记录 FULL (OUTER) JOIN:在左或右中有匹配返回所有记录 这些JOIN类型可以根据您需求选择,以确保检索到所需数据。...这意味着如果您有一个没有CategoryID产品,或者CategoryID在Categories不存在记录,该记录将不会在结果返回。...JOIN或INNER JOIN JOIN和INNER JOIN将返回相同结果。 INNER是JOIN默认连接类型,因此您写JOIN,解析器实际上会写INNER JOIN。...我们可以使用LEFT JOIN将两个连接在一起,以便即使某些客户没有订单,它们仍然会在结果显示。

31410

day26.MySQL【Python教程】

,关系 一个实体转换为数据一个 关系描述两个实体之间对应规则,包括 一对一 一对多 多对多 关系转换为数据一个 *在关系型数据库中一行就是一个对象 三范式 经过研究和对使用问题总结...在数据库上右击,选择“删除数据库”可以完成删除操作 操作 数据库显示为高亮,表示当前操作此数据库,可以数据创建 一个实体对应一张,用于存储特定结构数据 点击“新建”,弹出窗口,按提示填写信息...from关键字后面写名,表示数据来源于是这张 select后面写列名,如果是*表示在结果显示中所有 在select后面的列名部分,可以使用as为起别名,这个别名出现在结果集中 如果要查询多个...---- 2.3分组 按照字段分组,表示此字段相同数据会被放到一个 分组后,只能查询出相同数据,对于有差异数据无法出现在结果集中 可以对分组后数据进行统计,做聚合运算 语法: ?...结论:需要对有关系多张进行查询,需要使用连接join 连接查询 连接查询分类如下: A inner join B:A与B匹配行会出现在结果 A left join B:A与B

2.2K60

MySQL数据库:explain执行计划详解

id,表示结果来自于这个查询产生; (4)如果是尖括号括起来 ,与类似,也是一个临时,表示这个结果来自于union查询id为M,N结果集。...(3)eq_ref:主键或者唯一索引所有字段被用于连接使用,只会返回一行匹配数据。简单select查询语句不会出现这种情况。 (4)ref:普通索引扫描,可能返回多个符合查询条件行。...6、key: 实际使用哪个索引来优化对该访问;select_type为index_merge,这里可能出现两个以上索引,其他select_type这里只会出现一个。...,一种是使用索引,另一种是filesort(基于快排实现外部排序,性能比较差),数据量很大,这将是一个CPU密集型过程,所以可以通过建立合适索引来优化排序性能 using join buffer...第四:(id = 1):【select d1.name, … d2 from … d1】:select_type为PRIMARY表示该查询为最外层查询,table被标记为 “derived3”表示查询结果来自一个衍生

96720

算法工程师修养 | 图解SQL

具体来说,UNION 和 UNION ALL 用于计算两个集合并集,返回出现在一个查询结果或者第二个查询结果数据。...下面是 UNION 操作示意图: INTERSECT 操作符用于返回两个集合共同部分,即同时出现在一个查询结果和第二个查询结果数据,并且排除了结果重复数据。...INTERSECT 运算示意图如下: EXCEPT 或者 MINUS 操作符用于返回两个集合差集,即出现在一个查询结果,但不在第二个查询结果记录,并且排除了结果重复数据。...06 JOIN 在 SQL ,不仅实体对象存储在关系,对象之间联系也存储在关系。因此,当我们想要获取这些相关数据,需要使用到另一个操作:连接查询(JOIN)。...集合操作将两个集合合并成一个更大或更小集合;连接查询将两个集合转换成一个更大或更小集合,同时获得了一个更大元素(更多)。

67120

图解 SQL,这也太形象了吧!

具体来说,UNION 和 UNION ALL 用于计算两个集合并集,返回出现在一个查询结果或者第二个查询结果数据。...INTERSECT 操作符用于返回两个集合共同部分,即同时出现在一个查询结果和第二个查询结果数据,并且排除了结果重复数据。INTERSECT 运算示意图如下: ?...EXCEPT 或者 MINUS 操作符用于返回两个集合差集,即出现在一个查询结果,但不在第二个查询结果记录,并且排除了结果重复数据。EXCEPT 运算符示意图如下: ?...JOIN 在 SQL ,不仅实体对象存储在关系,对象之间联系也存储在关系。因此,当我们想要获取这些相关数据,需要使用到另一个操作:连接查询(JOIN)。...集合操作将两个集合合并成一个更大或更小集合;连接查询将两个集合转换成一个更大或更小集合,同时获得了一个更大元素(更多)。

57910

图解SQL基础知识,小白也能看懂SQL文章!

具体来说,UNION 和 UNION ALL 用于计算两个集合并集,返回出现在一个查询结果或者第二个查询结果数据。...下面是 UNION 操作示意图: INTERSECT 操作符用于返回两个集合共同部分,即同时出现在一个查询结果和第二个查询结果数据,并且排除了结果重复数据。...INTERSECT 运算示意图如下: EXCEPT 或者 MINUS 操作符用于返回两个集合差集,即出现在一个查询结果,但不在第二个查询结果记录,并且排除了结果重复数据。...06 JOIN 在 SQL ,不仅实体对象存储在关系,对象之间联系也存储在关系。因此,当我们想要获取这些相关数据,需要使用到另一个操作:连接查询(JOIN)。...集合操作将两个集合合并成一个更大或更小集合;连接查询将两个集合转换成一个更大或更小集合,同时获得了一个更大元素(更多)。

66120

2020年MySQL数据库面试题总结(50道题含答案解析)

连接  其结果集中不仅包含符合连接条件行,而且还会包括左、右两个所有数据行,这三种情况依次称之为左外连接,右外连接,和全外连接。...左外连接 也称左连接,左为主表,左所有记录都会出现在结果集中,对于那些在右并没有匹配记录,仍然要显示,右边对应那些字段值以NULL 来填充。...右外连接,也称右连接,右为主表,右所有记录都会出现在结果集中。左连接和右连接可以互换,MySQL 目前还不支持全外连接。...要同时修改数据两个不同,如果它们不是一个事务的话,一个修改完,可能第二个修改过程中出现了异常而没能修改,此时就只有第二个依旧是未修改之前状态,而第一个已经被修改完毕。...数据库是一个多用户使用共享资源。多个用户并发地存取数据,在数据库中就会产生多个事务同时存取同一数据情况。若对并发操作不加控制就可能会读取和存储不正确数据,破坏数据一致性。

3.9K20

MySQL 给你问懵了?50 道 MySQL 高频面试题详解来了

连接结果集中不仅包含符合连接条件行,而且还会包括左、右两个所有数据行,这三种情况依次称之为左外连接,右外连接,和全外连接。...左外连接,也称左连接,左为主表,左所有记录都会出现在结果集中,对于那些在右并没有匹配记录,仍然要显示,右边对应那些字段值以NULL 来填充。...右外连接,也称右连接,右为主表,右所有记录都会出现在结果集中。左连接和右连接可以互换,MySQL 目前还不支持全外连接。...要同时修改数据两个不同,如果它们不是一个事务的话,一个修改完,可能第二个修改过程中出现了异常而没能修改,此时就只有第二个依旧是未修改之前状态,而第一个已经被修改完毕。...数据库是一个多用户使用共享资源。多个用户并发地存取数据,在数据库中就会产生多个事务同时存取同一数据情况。若对并发操作不加控制就可能会读取和存储不正确数据,破坏数据一致性。

2.6K11

MySQL(五)

联合查询 基本概念: 可合并多个相似的选择查询结果结果集,等同于将一个追加到另一个,从而实现将两个查询结果组合到一起,使用 Union 或 Union all。...外连接(Outer Join) 一张作为主表(记录都会保留),根据条件去匹配另一张从记录,从而得到目标数据。...Using 关键字 是在连接查询替代 on 关键字。 使用前提是两张连接字段是同名,并且最终在结果只保留一个字段。...(class_id); 子查询 一个查询是另一个查询条件,称之为子查询(Sub Query)。...分类 按功能来分: 标量子查询: 子查询返回结果一个数据 列子查询: 返回结果是一 行子查询: 返回结果一行 子查询: 返回结果是多行多 Exists 子查询: 返回结果是 1 或 0 按位置来分

69020

MySQL经典52题

连接结果集中不仅包含符合连接条件行,而且还会包括左、右两个所有数据行,这三种情况依次称之为左外连接,右外连接,和全外连接。...左外连接 也称左连接,左为主表,左所有记录都会出现在结果集中,对于那些在右并没有匹配记录,仍然要显示,右边对应那些字段值以NULL来填充。...右外连接 也称右连接,右为主表,右所有记录都会出现在结果集中。左连接和右连接可以互换,MySQL目前还不支持全外连接。...要同时修改数据两个不同,如果它们不是一个事务的话,一个修改完,可能第二个修改过程中出现了异常而没能修改,此时就只有第二个依旧是未修改之前状态,而第一个已经被修改完毕。...数据库是一个多用户使用共享资源。多个用户并发地存取数据,在数据库中就会产生多个事务同时存取同一数据情况。若对并发操作不加控制就可能会读取和存储不正确数据,破坏数据一致性。

7410

23篇大数据系列(三)sql基础知识(史上最全,建议收藏)

它经常出现在3个位置上,分别是SELECT后面、FROM/JOIN后面,还有WHERE/HAVING后面。 子查询出现在SELECT后面,其作用通常是要为结果添加一。...子查询出现在FROM/JOIN后面,是我们最常用方式,就是将子查询结果作为中间,继续基于这个做分析。 子查询出现在WHERE/HAVING后面,则表示要使用子查询返回结果做过滤。...这里根据子查询返回结果数量,分三种情况,即1行1、N行1、N行N返回结果为1行1,实际上就是返回了一个具体值,这种子查询又叫标量子查询。...标量子查询结果可以直接用比较运算符来进行计算。 返回结果是N行1,实际上就是返回了一个相同类型数值集合。因此可以使用IN谓词判断,同时也可以配合ANY、SOME、ALL等关键字使用。...返回结果是N行N,实际上就是返回一个临时,这时就不能进行值比较了,而是使用EXISTS谓词判断返回集合是否为空。

2.6K60
领券