我有一个表A,其中有一个名为'template_phash'的列。我存储了从400K个图像生成的pHash。
现在我随机选择一张图像并从该图像生成一个pHash。
现在,我该如何查询,以便获取表A中的记录,汉明距离差小于阈值,例如20。
我看过SQL中二进制字符串的汉明距离,但无法理解。
我想我需要制作一个函数来实现这个功能,但是怎么做呢?
我的两个pHash都是BigInt,例如:7641692061273169067
请帮我创建函数,以便我可以查询:
SELECT product_id, HAMMING_DISTANCE(phash1, phash2) as hd
FROM A
WHERE hd < 20 ORDER BY hd ASC;