- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
免责声明:我对 MySQL 很陌生,这样做是为了了解更多信息的实验。
本质上,我有一个表,其中一行是“主”行。我想将这一行与其他几行进行比较。我想从这一行中选择最“正确”或与主行最相似的行并将其存储到变量中。如果没有几行与主行足够相似,我只想取消该操作。
我可以想出一种通过迭代来做到这一点的方法,但我一直读到迭代对于 SQL 来说是非常低效/糟糕的做法,并且想看看是否还有其他方法。
在此示例中,我希望选择提交 2,并拒绝提交 1 和 3。
Type, Answer 1, Answer 2, Answer 3
Master, 100, 200, 300
Submission 1, 100, 400, 300
Submission 2, 100, 200, 300
Submission 3, 200, 100, 300
但是,在下面的示例中,我想选择提交 1,尽管两者并不完全相同。
Type, Answer 1, Answer 2, Answer 3
Master, 100, 200, 300
Submission 1, 100, 400, 300
Submission 2 , 100, 500, 500
Submission 3, 200, 100, 300
最后,在这里我想选择提交 1,因为它出现在提交 3 之前,尽管两者的正确程度相同。
Type, Answer 1, Answer 2, Answer 3
Master, 100, 200, 300
Submission 1, 100, 400, 300
Submission 2 , 100, 500, 500
Submission 3, 500, 200, 300
最佳答案
尝试以下查询。它计算 Master
行与其他行共有的答案数。在正确答案数量平局的情况下,它使用每个错误答案的数值差异来选择最接近的匹配。
SELECT t.Type, t.Answer1, t.Answer2, t.Answer3,
(t.a1 + t.a2 + t.a3) AS numRight,
(t.d1 + t.d2 + t.d3) AS numOff
FROM
(
SELECT t2.Type, t2.Answer1, t2.Answer2, t2.Answer3,
CASE WHEN t1.Answer1 = t2.Answer1 THEN 1 ELSE 0 END AS a1,
CASE WHEN t1.Answer2 = t2.Answer2 THEN 1 ELSE 0 END AS a2,
CASE WHEN t1.Answer3 = t2.Answer3 THEN 1 ELSE 0 END AS a3,
ABS(t1.Answer1 - t2.Answer1) ASd1,
ABS(t1.Answer2 - t2.Answer2) AS d2,
ABS(t1.Answer3 - t2.Answer3) AS d3
FROM yourTable t1 INNER JOIN yourTable t2
ON t1.Type = 'Master' AND t2.Type <> 'Master'
) t
ORDER BY numRight DESC, numOff
如果您只需要一行,可以将 LIMIT 1
添加到查询末尾。
此处演示:
关于mysql - 查找一行和多行之间的相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38448923/
我需要在基于 Java 的应用程序中使用 Wordnet。我想: 搜索同义词集 找到同义词集之间的相似性/相关性 我的应用程序使用 RDF 图,我知道 Wordnet 有 SPARQL 端点,但我想最
假设我们有一个 IEnumerable Collection,其中包含 20 000 人 对象项。那么假设我们创建了另一个 Person 对象。 我们想列出所有与这个人相似的人。这意味着,例如,如果姓
我使用 JAWS 作为普通的 wordnet 来查找单词之间的相似性。 我安装了 wordnet 2.1 并添加了 jar 文件:edu.mit.jwi_2.1.4.jar 和 edu.sussex.
我用这段代码做了一个词嵌入: with open("text.txt",'r') as longFile: sentences = [] single= []
我正在尝试找出确定各种对象或数组之间的共性或相似性的最佳方法,并且有兴趣获得社区的意见。我目前正在用 javascript 构建一个早期研究原型(prototype),我需要采用一种巧妙的方式来比较对
我在将 Flash 游戏转换为 C# 时遇到问题。在 Flash 中我会使用这种语法: public function doMove() { eaze(this).to(actionTime,
我有一批形状为 (bs, m, n) 的向量(即维度为 mxn 的 bs 向量)。对于每个批处理,我想计算第一个向量与其余 (m-1) 个向量的 Jaccard 相似度 例子: a = [ [
如何使用 Whoosh 获取文档的相似性度量? 我想创建一个“相关”特征,对与文档具有高度相似性的其他先前编入索引的文档进行排名。 我是否将文档作为长查询字符串输入?我是否将文档添加到索引并以某种方式
我编写了一个 Python 函数,它接受两个列表,使用 Levenshtein 比较它们并将足够相似的单词合并到一个名为“merged”的列表中。 我如何为超过 6 个列表执行此操作?确保将每个列表与
请原谅我对 Go 的了解非常有限。我有这样的定义 type ErrorVal int const ( LEV_ERROR ErrorVal = iota LEV_WARNING
我正在从事文本分析项目,一次比较两个不同的报告并将结果保存到 pandas 数据框中。 我能够得到 cosine 和 jacard 的相似性,但需要确保我得到正确的度量。作为参数,我使用位于给定文件夹
我是一名优秀的程序员,十分优秀!