Excel技巧:Excel如何“提取”一列中红色单元格的数据? ? 场景:财务、HR、采购、商务、后勤部需要数据整理的办公人士。 问题:Excel如何“提取”一列中红色单元格的数据?...具体操作方法如下:第一步:进行颜色排序 将鼠标放置在数据区的任意单元格,单击“排序”按钮(下图1处),对下列表中“型号”列进行“单元格颜色”按红色进行排序。(下图3处) ?...第二步:复制红色单元格数据 将红色单元格的数据复制到D列。黏贴时可以选择“选择性黏贴—值”。效果如下: ? 是不是很快搞定了客户朋友的问题。但这样有个问题,破坏了数据原有的顺序。这时候怎么办呢?...补救步骤:增加辅助列 排序前,新增一列“序号”列。 ? 按颜色排序,复制出数据后,序号的顺序被打乱。 ? 第三步:按序号在升序排序。...而序号是强烈推荐大家工作添加的玩意。标识数据表的唯一性。当然这个案例有个问题,就是如果数据是更新的。你必须每次排序一次,所以用VBA还是必须要搞定的。
学习Excel技术,关注微信公众号: excelperfect Q:如下图1所示,在工作表列A中有很多数据(为方便表述,示例中只放置了9个数据),这些数据中有很多重复数据,我想得到重复次数最多的数据是那个...,示例中可以看出是“完美Excel”重复的次数最多,如何获得这个数据?...在上面的公式中: MATCH($A$1:$A$9,$A$1:$A$9,0) 在单元格区域A1:A9中依次分别查找A1至A9单元格中的数据,得到这些数据第1次出现时所在的行号,从而形成一个由该区域所有数据第一次出现的行号组组成的数字数组...MODE函数从上面的数组中得到出现最多的1个数字,也就是重复次数最多的数据在单元格区域所在的行。将这个数字作为INDEX函数的参数,得到想应的数据值。...,则上述公式只会获取第1个数据,其他的数据怎么得到呢?
excelperfect Q:数据放置在列A中,我要得到这些数据中任意3个数据的所有可能组合。如下图1所示,列A中存放了5个数据,要得到这5个数据中任意3个数据的所有可能组合,如列B中所示。...如何实现? ? 图1 (注:这是无意在ozgrid.com中看到的一个问题,我觉得程序编写得很巧妙,使用了递归的方法来解决,非常简洁,特将该解答稍作整理后辑录于此与大家分享!)...Dim n AsLong Dim vElements As Variant Dim lRow As Long Dim vResult As Variant '要组合的数据在当前工作表的列...A Set rng =Range("A1", Range("A1").End(xlDown)) '设置每个组合需要的数据个数 n = 3 '在数组中存储要组合的数据...代码的图片版如下: ? 如果将代码中注释掉的代码恢复,也就是将组合结果放置在多列中,运行后的结果如下图2所示。 ? 图2
,非必须那一列。...Docker当执行每一条命令时都会查找有没有已存在的数据层或者可以服用的数据层,而不是每次都是傻傻的重新执行。...如果不相同,则cache数据无效 在大多数情况下,将Dockerfile中的指令同cache中的image 数据层比对就足够了。但某一些命令需要每次都执行。...每次都会计算这些文件的checksum。如果checksum同cache中的checksum不匹配,那么这些cacha中的文件将会失效。...除了ADD COPY这两个命令,Docker会检查cache中有没有匹配的数据,其他的命令Docker都不会匹配cache中的数据。
但是,我们将稍微解释一下如何使用其他角色和数据库,以便您可以灵活选择要使用的用户和数据库。 键入以下命令退出PostgreSQL提示符: \q 您现在应该返回postgres用户命令提示符。...如果要连接到非默认数据库或非默认用户,这可以帮助提醒您当前的设置。 创建和删除表 既然您已经知道如何连接到PostgreSQL数据库系统,我们将开始讨论如何完成一些基本任务。...这从serial类型的设备ID开始。此数据类型是自动递增整数。我们给这个列赋予了primary key的约束,这意味着值必须是唯一的而不是null。 对于我们的两个列,我们没有给出字段长度。...我们通过调用我们想要添加的表,命名列然后为每列提供数据来完成此操作。...如果我们发现我们的工作人员使用单独的工具来跟踪维护历史记录,我们可以通过键入以下内容来删除此列: ALTER TABLE playground DROP last_maint; 如何更新表中的数据 我们知道如何向表中添加记录以及如何删除它们
PG11新特性解读:新增非空默认值字段不需要重写表 1、如何理解这个特性 在postgresql11之前,为表增加一个包含非空默认值的字段,将会导致表重写,为每一行添加该字段,并填充默认值。...而在11版本中,新增加一个功能,将不再重写表。而是将非空默认值的属性添加到系统表pg_attribute中,该表描述每一列的信息。...:constbyval true :constisnull false :location 42 :constvalue 4 [ 5 0 0 0 ]} (1 row) pg_node_tree是什么数据类型...3)对于表中已存在的行查询时返回attmissingval属性的值,插入新的行,若指定带默认值字段,则查询时不需要返回attmissingval属性的值,否则需要返回attmissingval属性的值:...3 | 4 | 5 (3 rows) 4)一旦该表被重写(vacuum full table操作),那么pg_attribute新增的两个字段值将被清除: postgres=# select
如果要连接到非默认数据库或非默认用户,这可能很有用。 创建和删除表 既然您已经知道如何连接到PostgreSQL数据库系统,我们就可以了解如何完成一些基本任务。...我们还可以选择为每列添加表约束。...对于我们的两个列(equip_id和install_date),我们没有给出字段长度。这是因为某些列类型不需要设置长度,因为类型隐含了长度。...我们通过调用我们想要添加的表,命名列然后为每列提供数据来完成此操作。...如果我们发现我们的工作人员使用单独的工具来跟踪维护历史记录,我们可以通过键入以下内容来删除此列: ALTER TABLE playground DROP last_maint; 如何更新表中的数据 我们知道如何向表中添加记录以及如何删除它们
简单的讲第一范式就是每一行的各个数据都是不可分割的,同一列中不能有多个值,如果出现重复的属性就需要定义一个新的实体。 示例:假设一家公司要存储其员工的姓名和联系方式。它创建一个如下表: ?...两名员工(Jon&Lester)拥有两个手机号码,因此公司将他们存储在同一表格中,如上表所示。...第二范式(2NF) 第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。...我们把能够唯一表示数据库中表的一行的数据成为这个表的主键。表中 head 列不和主键相关。...,非主键外的所有字段必须互不依赖,即需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
与电子表格相似,数据在表中式按行和列的格式组织排列的。表中的每一列都设计为存储某种类型的信息(例如日期、名称、美元金额或数字)。...第二范式:保证表中必须有一个主键;表的每一列都必须和该表的主键相关(主键的所有部分,不能是主键的一部分)。...第三范式:确保表中的每一列都直接和主键相关联,即不能存在传递依赖(非主键列1依赖于非主键列2,非主键列2依赖于主键)的情况)。...2 主键与外键 (1) 主键:主键是指在表中可以唯一表示表中每一行的一列(或列的组合)。其特点是:不可以重复,不可以为空,一个表只能有一个主键。...例如:表(账号,昵称,密码)中账号列就满足其特点可以充当表的主键。 (2) 外键:外键是将两个表连接在一起的键,一个表的主键可以在另一个表中当作这个表的外键,进而将两个表连接在一起。
存储在同一表中的信息应该是一种类型或者一种清单,便于SQL化管理; column:列。表中没列都有相应的数据类型; row:行。每行记录一条记录。 primary key:主键。...表中每一行都应该有标识自己的一列(一组列)。主键那一列其值能够唯一区分表中每一行。所以同一表中主键任意两行都不具有相同的键值。 二,基础操作, 在MySQL命令行使用程序时,以分号(;)结束每个语句。...=3306) SHOW databases; 该语句显示DBMS中的所有数据库。...USE mysqlstudy; 该语句选择要使用的某一个数据库。如图: ? SHOW tables;该语句显示数据库中所有的表。如图: ?...SHOW columns from table;该语表示列出某个表中列及列的信息。如图: ? SHOW errors/show warnings; 显示出最近的错误和报警。
本指南演示了如何在Ubuntu 18.04 服务器上安装Postgres,并提供了基本数据库管理的说明,也可以直接使用云数据库,腾讯云提供云数据库 PostgreSQL(TencentDB for PostgreSQL...如果要连接到非默认数据库或非默认用户,这将非常有用。 创建和删除表 现在您已了解如何连接到PostgreSQL数据库系统,您可以了解一些基本的Postgres管理任务。...您还可以选择为每列添加表约束。...输入以下内容,添加一列以显示每件设备的上次维护访问: sammy=# ALTER TABLE playground ADD last_maint date; 如果再次查看表信息,您将看到添加了新列(但未输入任何数据...更新表中的数据 到目前为止,您已经学习了如何向表中添加记录以及如何删除它们,但本教程尚未介绍如何修改现有条目。 您可以通过查询所需的记录并将列设置为您要使用的值来更新现有条目的值。
创建和删除表 既然您已经知道如何连接到PostgreSQL数据库系统,我们将开始讨论如何完成一些基本任务。 首先,让我们创建一个表来存储一些数据。让我们创建一个描述游乐场设备的表格。...我们还可以选择为每列添加表约束。...此数据类型是自动递增整数。我们已经为此列提供了主键的约束,这意味着值必须是唯一的而不为空。 对于我们的两个列,我们没有给出字段长度。这是因为某些列类型不需要设置长度,因为类型隐含了长度。...然后我们给出设备类型和颜色的列,每个列都不能为空。然后,我们创建一个位置列并创建一个约束,该约束要求该值为八个可能值之一。最后一列是日期列,记录我们安装设备的日期。...添加,查询和删除表中的数据 现在我们已经创建了一个表,我们可以在其中插入一些数据。 让我们添加一张幻灯片和一个swing。我们通过调用我们想要添加的表,命名列然后为每列提供数据来完成此操作。
叶子页中的记录包含索引数据(keys)以及指向heap tuple记录(即表的行记录TIDs)的指针。内部页中的记录包含指向索引子页的指针和子页中最小值。...因此B-tree的高度比较低,通常4到5层就可以存储大量行记录。 3、索引中的数据以非递减的顺序存储(页之间以及页内都是这种顺序),同级的数据页由双向链表连接。...比如,该索引是非唯一索引时,允许存在许多相同值的记录,并且这些相同的记录不止存放在一个页中。此时该如何查询?我们返回到上面的的例子,定位到第二层节点(32,43,49)。...比较 前面,提到PG需要知道对于不同类型的值调用哪个函数,并且这个关联方法存储在哈希访问方法中。同样,系统必须找出如何排序。这在排序、分组(有时)、merge join中会涉及。...: 正因如此,当比较类型在一个操作符族中时,不同类型值的比较,优化器可以避免类型转换。
单一表头,没有多层级的表头和合并单元格; 3. 数值列建议不要有空值; 4. 没有小计行、小计列; 5. 不支持有宏算法或函数算法数据表格; ? 如上图所示,就是在Excel中常见的是二维表。...一维表的每一列是一个独立的维度,列名或者字段名就是数据分析的基础,比如利用列名与其他表建立关系;数据可视化时直接把字段拖入到某个属性框中等。 ?...PART TWO 如何将二维表转化为一维表?...因为对合并单元的拆分,表格中有很多null空值,选中第一列,点击转换——填充——向下,对空值数据进行向下填充; ? 此时,第一列的空值数据就会被补齐。 ? 4....在弹出的“合并列”弹出框中,可选择用分隔符隔开两个合并字段,也可以不选。 ? 得到如下图所示,年度和季度合并的年度季度列。 ? 5. 点击转换——转置,对表格进行转置处理; ? 6.
因为只有四个字节,因此,在大型数据库中它并不足以提供数据库范围内的唯一性,甚至在一些大型的表中也无法提供表范围内的唯一性。...PostgreSQL数据存储 关于数据存储,我们都知道数据是存在数据库中的某个数据表中,每条数据记录对应数据表中的某一行,所以我们从上至下来查看各层次结构的数据存储。...每一张表的数据(大部分)又是放在 $PGDATA/base/{dboid}/{relfilenode} 这个文件里面,relfilenode一般情况下和和tboid一致,但有些情况下也会变化,如TRUNCATE..., item_index), 通常称它为 CTID(ItemPointer), 我们可以通过下面语句查看每一列的 CTID: select ctid,* from course; 查询结果如下所示: ?...扩展 schema PostgreSQL 除了默认的 public schema 之外,还有两个比较重的系统 schema:information_schema 与pg_catalog。
其中每一条数据都是一条操作记录. 那么在「HBase」实现中的部分内容如下....其排序规则如下: row key小的排在前面 同 row key 比较列族 同列族比较列名 同列名比较时间戳, 时间戳大的在前面....用于对索引进行二分查找, 快速定位到指定的数据块 数据块在文件中的位置 数据块的大小 布隆过滤器. 用户在扫描时快速过滤不存在的数据块 数据块. 其中存储了每一条 KV 数据....行式存储在读取一行数据的时候是比较快的, 但如果读取的是某一列数据, 也需要将整行读取到内存中进行过滤....「列式存储」 与行式存储相对应的就是列式存储, 既将一列数据存储在一起, 不同列的数据分别存储. 列式存储对于只读取某一列比较友好, 但相对的, 如果要读取多列数据, 需要读取多次并进行合并.
10Clouds在博客中详细介绍了其中的一些特性。通过消除主表(master table)中触发器(trigger)的需求,本地分区(native partitioning)现在变得更简单了。...这意味着创建分区表将变得更简单,并且从开发者的角度来看,现在从分区数据表中进行查询和插入与在非分区的数据表进行这些操作是完全一致的。...最重要的是,使用Postgres 10时,我们在从一个不同的id重启时,不再需要修改序列(alter sequences)了,但是我们可以对这一列进行修改(alter),Postgres就会将这一列识别为一个序列...,这样操作会简化我们数据库中的日常操作。...版本编号由三部分改为了两部分,同时开发者的脚本不能直接运行,而是使用类似于server_version_num这种查询,它返回的是一致的的可排序的和可比较的(sortable and comparable
皇后的走法是:可以横直斜走,格数不限。因此要求皇后彼此之间不能相互攻击,等价于要求任何两个皇后都不能在同一行、同—列以及同—条斜线上。...显然,每个皇后必须位于不同行和不同列,因此将N个皇后放置在N xN的棋盘上,—定是每—行有且仅有一个皇后,每一列有且仅有一个皇后,且任何两个皇后都不能在同—条斜线上。...每次新放置的皇后都不能和已经放置的皇后之间有攻击:即新放置的皇后不能和任何一个已经放置的皇后在同一列以及同—条斜线上,并更新数组中的当前行的皇后列下标。当N个皇后都放置完毕,则找到一个可能的解。...为了判断—个位置所在的列和两条斜线上是否已经有皇后,使用三个集合columns、diagonals,和diagonalsg分别记录每一列以及两个方向的每条斜线上是否有皇后。...列的表示法很直观,一共有Ⅳ列,每—列的下标范围从О到N -1,使用列的下标即可明确表示每—列。 如何表示两个方向的斜线呢?对于每个方向的斜线,需要找到斜线上的每个位置的行下标与列下标之间的关系。
这意味着,如果你表中只有4字节的列,无论如何都会使用8字节。如果有2个int4的列,他们将8字节对齐,仅使用这一个8字节。...但是如果有int4,下一个列超过4字节,PG不会将另一个列拆分为“前一个8字节的4个字节的一部分,下一个中的一部分”,一切都将转到下一个8字节块中。...INT2(2字节)或者BOOL(1字节)仍占用整个8字节,除非他们可以容纳上一列/下一列的8字节块: $ create table test2 as select (i % 32000)::int2 as...差异太小不易测试,并会因负载的随机波动而相形见绌,但它确实存在。在重负载的机器上可能会有所区别。 因此可以通过切换到更小的数据类型来使用更少的磁盘空间,但您必须非常小心表中列的顺序。...由于都是texts,估算每行大小比较复杂,但是假设他们每个只占8个字节块,鉴于列的排列方式,只有第25和26列可以放入单个8字节块中。
这里介绍如何导入我们常用的ESRI Shapefile数据到PostgreSQL数据库中,我们可以使用PostGIS提供的shp2pgsql和pgsql2shp工具进行导入和导出操作,还可以使用GDAL...执行过程中,按照提示输入postgres用户的密码即可。 也可以不给postgres用户设置密码,使用如下的命令插入数据,效果是一样的。...执行成功以后,我们可以进入psql从数据库中查看数据。命令如下:\dt staging.其中,staging是schema的名称,可以看到staging中有两个关系表。 ?...最后,看看如何使用QGIS直接连接PostgreSQL数据库进行数据显示。...点击Connect,可以看到我们的staging中有两个关系表。 ? 选择world_continent关系表,然后点击Add可以进行数据的显示。 ?
领取专属 10元无门槛券
手把手带您无忧上云