Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查找两行的相似性百分比_Sql_Sql Server_Entity Framework - Fatal编程技术网

Sql 查找两行的相似性百分比

Sql 查找两行的相似性百分比,sql,sql-server,entity-framework,Sql,Sql Server,Entity Framework,我的数据库中有一个包含4列的表,其中包含许多实体。我想将所有行与给定的样本进行比较,并计算行与样本之间的相似性百分比 假设此表中有3行,如下所示: Franck | 15 | male | Spain Hadi | 20 | male | Iran Deniz | 10 | Female | Turkey Franck | 15 | male | Spain | 50% Hadi | 20 | male | Iran | 75% Deniz | 10 | Fe

我的数据库中有一个包含4列的表,其中包含许多实体。我想将所有行与给定的样本进行比较,并计算行与样本之间的相似性百分比

假设此表中有3行,如下所示:

Franck | 15 | male   | Spain
Hadi   | 20 | male   | Iran
Deniz  | 10 | Female | Turkey
Franck | 15 | male   | Spain  | 50%
Hadi   | 20 | male   | Iran   | 75%
Deniz  | 10 | Female | Turkey | 0% 
并希望搜索此示例:

Hadi | 15 | male | Iran
因此,我希望得到显示此样本与行之间匹配百分比的结果,如下所示:

Franck | 15 | male   | Spain
Hadi   | 20 | male   | Iran
Deniz  | 10 | Female | Turkey
Franck | 15 | male   | Spain  | 50%
Hadi   | 20 | male   | Iran   | 75%
Deniz  | 10 | Female | Turkey | 0% 

有没有什么工具或常用方法可以帮助我做到这一点?在SQL Server或实体框架中?

可以使用
CASE
子句检查列并根据规则分配值。例如:

select
  *,
  case when name = 'Hadi' then 1 else 0 end +
  case when age = 15 then 1 else 0 end +
  case when sex = 'male' then 1 else 0 end +
  case when country = 'Iran' then 1 else 0 end 
  * 25 as percent
from t

您可以使用
CASE
子句来检查列并根据您的规则指定值。例如:

select
  *,
  case when name = 'Hadi' then 1 else 0 end +
  case when age = 15 then 1 else 0 end +
  case when sex = 'male' then 1 else 0 end +
  case when country = 'Iran' then 1 else 0 end 
  * 25 as percent
from t

根据你的句子
计算行之间的相似度百分比
,你提到的相似度到底是多少?我是说,50%、75%和0%是如何计算的。请你再举几个例子好吗?根据你的句子
计算行之间的相似度百分比
,你提到的相似度到底是多少?我是说,50%、75%和0%是如何计算的。请你再举几个例子好吗?谢谢你的解决方案。谢谢你的解决方案。