我正在尝试使用mysql验证客户地址的重复。
客户1: 58 Avenue Rd,London,NW10 4UU
客户2: 58 Avenue Road,London,NW10 4UU -
如何查找重复的客户地址?两者都是一样的。 但“客户2”在同一地址中添加了一些“ - ”。 但我们不能接受这个地址。因为两者都是一样的。
我正在使用此查询。
SELECT COUNT(customer_address) FROM customer WHERE customer_address = '$customer_address'
但它返回0.所以它接受客户2.这是错误的。
我正在尝试另一种方式。
SELECT COUNT(customer_address) FROM customer WHERE customer_address LIKE '%".$customer_address."%'
但它给出了错误的结果。
答案 0 :(得分:0)
尝试以下方法;
SELECT
c.customer_address
FROM
customer c
WHERE
c.customer_address IN (
SELECT
customer_address
FROM
customer
HAVING
COUNT(DISTINCT customer_address) > 1
)
+---------------------------------------+
| customer_address |
+---------------------------------------+
| 58 Avenue Road, London, NW10 4UU |
| 58 Avenue Road, London, NW10 4UU - |
| 16 Beach Road, Bournemouth, NA66 6NA |
+---------------------------------------+
我
+-------------------------------------+
| customer_address |
+-------------------------------------+
| 58 Avenue Road, London, NW10 4UU - |
+-------------------------------------+
1 row in set
由于返回了一行,我们知道这是一个重复的地址。
答案 1 :(得分:0)
既然你渴望自己去学习,我会给你一个良好的开端:你想要搜索“mysql编辑距离”......