嗨..我想从数据库中删除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%相近的数据?
答案 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