如何比较两组数据的差异性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何比较两组数据的差异性?相关的知识,希望对你有一定的参考价值。

参考技术A 比较两组数据之间的差异性,可以运用excel软件去进行比较。
具体操作如下:
技巧1:Ctrl+\快速核对数据差异

操作:选择两列数据后,按快快捷键Ctrl+\,这样就可以自动选择两列数据有差异的地方,也就是会自动选中不重复的内容,然后我们将文本填充一下红色就可以很明显的看出来。
技巧2:Ctrl+G快速定位行内容差异

操作:选择数据区域后,按ctrl+g特殊定位,选择行内容差异单元格。这种方法同样可以自动定位到不重复的单元格内容。将文本单独填充红色同样可以看出来。
技巧3:条件格式快速查找重复数据

操作:选择数据区域后,点击开始—条件格式—突出显示重复值数据。这样会自动将两列数据有重复的地方填充为不同颜色,如果没有重复的情况会正常显示。
【拓展资料】
excel,是一款免费的办公软件。 MicrosoftExcel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为MicrosoftOffice的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。
MicrosoftOffice是一套由微软公司开发的办公软件套装,它可以在MicrosoftWindows、WindowsPhone、Mac系列、iosandroid等系统上运行。与其他办公室应用程序一样,它包括联合的服务器和基于互联网的服务。从2007版的Office被称为“OfficeSystem”而不叫“OfficeSuite”,反映出它们包括服务器的事实。 Office最初是一个推广名称,出现于1990年代早期,指一些以前曾单独发售的软件的合集。当时主要的推广重点是:购买合集比单独购买要省很多钱。最初的Office版本包含Word、Excel和PowerPoint。“专业版”包含MicrosoftAccess,MicrosoftOutlook当时不存在。随着时间的改变,Office应用程序逐渐集成,共享特性,例如:拼写和语法检查、OLE数据集成和VBA脚本语言。微软将Office延伸作为一个开发平台,可以借由专用商店下载第三方软件搭配使用。 Office常是制作文档文件的标准,而且有一些其他产品不存在的特性,但是其他产品也有Office缺少的特性。自从Microsoft2007OfficeSystem开始,有一个和以前版本差异很大的用户界面,该界面被称为Ribbon界面,并沿用在MicrosoftOffice2010、MicrosoftOffice2013和MicrosoftOffice2016中。

从同一张表中找出两组数据之间的差异

【中文标题】从同一张表中找出两组数据之间的差异【英文标题】:Finding the difference between two sets of data from the same table 【发布时间】:2012-02-16 09:58:34 【问题描述】:

我的数据如下:

run | line | checksum | group
-----------------------------
 1  |   3  |  123     |  1
 1  |   7  |  123     |  1
 1  |   4  |  123     |  2
 1  |   5  |  124     |  2
 2  |   3  |  123     |  1
 2  |   7  |  123     |  1
 2  |   4  |  124     |  2
 2  |   4  |  124     |  2

我需要一个查询来返回运行 2 中的新条目

run | line | checksum | group
-----------------------------
 2  |   4  |  124     |  2
 2  |   4  |  124     |  2

我尝试了几件事,但我从未得到令人满意的答案。 在这种情况下,我使用的是 H2,但我当然对有助于我理解这个概念的一般解释感兴趣。

编辑: 好的,这是我在这里的第一篇文章,所以如果我没有足够准确地说明问题,请原谅。

基本上给定两个运行值 (r1, r2, with r2 > r1) 我想确定 row = r2 的哪些行与 row = r1 的任何行有不同的行、校验和或组。

【问题讨论】:

问题没有任何意义...... 你如何确定一个条目是新的? 运行 2 中的新条目是什么意思?我看不到数据戳。 【参考方案1】:
select * from yourtable
where run = 2 and checksum = (select max(checksum) 
                              from yourtable)

【讨论】:

【参考方案2】:

假设你上次运行的运行值比其他运行值高,下面的 SQL 会有所帮助

select * from table1 t1
where t1.run in
(select max(t2.run) table1 t2)

更新:

上面的 SQL 可能不会给你正确的行,因为你的要求不是很清楚。但总体思路是根据最新的运行参数获取行。

【讨论】:

【参考方案3】:
SELECT line, checksum, group 
  FROM TableX
  WHERE run = 2 

EXCEPT

SELECT line, checksum, group 
  FROM TableX
  WHERE run = 1 

或(结果略有不同):

SELECT *
  FROM TableX x
  WHERE run = 2
    AND NOT EXISTS
        ( SELECT *
          FROM TableX x2
          WHERE run = 1
            AND x2.line = x.line
            AND x2.checksum = x.checksum
            AND x2.group = x.group 
        )

【讨论】:

【参考方案4】:

稍微不同的方法:

select min(run) run, line, checksum, group
from mytable
where run in (1,2)
group by line, checksum, group
having count(*)=1 and min(run)=2

顺便说一下,我假设表中的“组”列实际上并未称为组 - 这是 SQL 中的保留字,需要用双引号(或反引号或方括号,具体取决于哪个 RDBMS你正在使用)。

【讨论】:

以上是关于如何比较两组数据的差异性?的主要内容,如果未能解决你的问题,请参考以下文章

关于spss: 如何统计两组数据有无差异

如何比较两个数据库的差异

两组性别是不是有差异用spss卡方检验怎么做

SPSS非参数检验差异显著,但成对比较都不显著,怎么解释?

统计 | R语言执行两组间差异分析Wilcox秩和检验

如何比较两组数据的顺序?