1

这是我的第一篇文章,我是一个新手。

我正在尝试使用带有 sqlite3 的 SQLite 从公司名称表中提取模糊重复列表。

例如,对于像“ZtPay”这样的公司,我目前正在使用:

SELECT name FROM tab WHERE name LIKE 'Z_Pay');

SELECT name FROM tab WHERE name LIKE 'Zt_ay');

等等...为了解决拼写错误。

我的问题是,如果没有错字,那么我只输出原始公司名称。理想情况下,如果 LIKE 发现了模糊重复,我只想输出原始名称。

我知道这是非常错误的,但我想要一些类似的东西:

SELECT name FROM tab WHERE name LIKE 'Z_Pay' IF ATLEAST 2 name LIKE 'Z_Pay' 

提前感谢您能给我的任何帮助。

4

1 回答 1

0

min()您可以通过查看and来确定是否有多个名称max()

SELECT name 
FROM tab 
WHERE name LIKE 'Zt_ay%' 
group by name
having min(name) <> max(name)

或者,您可以使用count(distinct)

SELECT name 
FROM tab 
WHERE name LIKE 'Zt_ay%' 
group by name
having count(distinct name) > 1;
于 2013-07-05T12:55:09.643 回答