从数据库中删除Simillar数据

时间:2018-12-10 17:26:00

标签: php mysql mysqli

嗨..我想从数据库中删除Simillar数据。目前,我现在可以从数据库中删除重复数据并保留其中一个。

$sql = "UPDATE `clf_ads` SET `enabled`= '0' WHERE adid NOT IN (SELECT * FROM (SELECT MAX(adid) FROM clf_ads GROUP BY adtitle)  x)";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
 }
$conn->close();
?>

如何删除与80%相近的数据?

1 个答案:

答案 0 :(得分:0)

除非您有要测试的特定值,否则没有80%相似的东西。例如,如果您的表具有以下内容:

-----------------------------------
|  adid |         adtitle         |
-----------------------------------
|   1   |  'this is an ad title'  |      
|   2   |  'this is the ad title' |
|   3   |  'that is the ad title' | 

然后,如果您仅计算单词之间的相似度,则广告1与广告2相似,相似度为80%,广告3与广告3相似,相似度为60%。广告3。

因此,除非您单独选择要保留的广告,然后将其他标题与该标题的相似度进行比较,否则当前无法要求的内容。

要比较MySQL中字段之间的相似性,您需要看一下以下问题:how to compute similarity between two strings in MYSQL