这是我的第一篇文章,我是一个新手。
我正在尝试使用SQLite和sqlite3从公司名称和表格中提取模糊重复项列表。
例如,对于像'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'
提前感谢您提供的任何帮助。
答案 0 :(得分:0)
您可以通过查看min()
和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;