删除自动完成中的重复结果


Remove duplicate results in autocomplete

我有一个包含字段IDPCnamesurname等的数据库。我在IDPC输入中使用了搜索引擎的自动完成功能,它可以工作。在输入namesurname中,自动完成可以工作,但它会找到多个相同的名称,因为在数据库中,每个名称都有2或3个pc。所以,我想为名称找到1个结果。

示例:

paul 01pc, paul 07pc, paul 11pc.

在输入name结果中自动完成的搜索引擎:

paul, paul, paul.

相反,我只想要1个paul。我怎样才能做到这一点?

Select Distinct name from table_name where name<>''

此查询将把Distinct名称带到页面

只需在数据库列中选择DISTINCT值,就可以消除重复项。

SELECT DISTINCT name FROM table

来自Oracle MySQL参考手册:

ALL和DISTINCT选项指定是否应返回重复的行。ALL(默认值)指定应返回所有匹配的行,包括重复行。DISTINCT指定从结果集中删除重复的行。同时指定这两个选项是错误的。DISTINCTROW是DISTINCT的同义词。

来自Microsoft SQL Server文档:

DISTINCT关键字从SELECT语句的结果中消除重复的行。如果未指定DISTINCT,则返回所有行,包括重复行。