我有二元這些字符串數據庫如何在mysql數據庫中找到類似的二進制字符串?
record no 1: 1111111111111011000100110001100100010000000000000011000000000000
record no 2: 1111111111111111111111100001100000010000000000000011000000000000
record no 3: 1110000011110000111010001110111011110000111100001100000011000000
...
所以,我想找出什麼記錄也有類似的二進制字符串與此:1111111111111011000100110001100100010000000000000011000000001100
可以看到,記錄編號1爲98%的相關性。 記錄編號2是70%相關性,記錄編號3只有45%相關性。
這是龐大的數據庫(200,000條記錄)...
看看這個SO問題:http://stackoverflow.com/questions/4777070/hamming-distance-on-binary-strings-in-sql – Bjoern
@Bjoern你能幫我完成mysql查詢嗎?我已經閱讀過了,但我仍然不知道如何查詢 – TomSawyer
那麼,如果您改編了那裏提供的函數,那麼您的選擇查詢將會看起來像'SELECT HUMMINGDISTANCE(some_parameter)FROM yourtable;'。作者將二進制字符串轉換爲大整數以實現性能,所以您應該在爲函數提供參數的同時進行調整。他還使用了32個字節,你已經考慮到了你的二進制值。 – Bjoern