mysql:使用like返回重复行计数

时间:2013-03-26 18:19:48

标签: php mysql postal-code

我在下面有一个问题

表1

第一种情况:

postcode
LS1 1LS

第二种情况:

postcode
LS11LS

表2

    postcode| region
    LS1 | Leeds
    LS11    | Leeds

我正在使用以下查询来计算区域与相关的邮政编码

SELECT table2.region as 'Region', COUNT( table2.postcode ) as  'count'
FROM table1
INNER JOIN table2 ON table1.postcode LIKE CONCAT( table2.postcode,  '%' ) 
WHERE table1.postcode >  ''
GROUP BY Region 

关于在表1中应用第一种情况我得到

Leeds | 1

将它应用于表1第二种情况我得到

Leeds | 2

由于某种原因,这个邮政编码/类似的邮政编码,其中一半与第一部分完全相同,并且在类似的内连接之间没有空格,将计数返回为2。

任何解决方案吗?

请参阅此sqlfiddle

1 个答案:

答案 0 :(得分:0)

如果您在表1中有两个值为LS1 1LSLS11LS的条目,则您的联接将匹配这两个条目,并为您提供2个计数。