MYSQL:SELECT 方法 - 但不显示重复项/GROUP 或 DISTINCT?

Posted

技术标签:

【中文标题】MYSQL:SELECT 方法 - 但不显示重复项/GROUP 或 DISTINCT?【英文标题】:MYSQL: SELECT Method - but don't show duplicates / GROUP or DISTINCT? 【发布时间】:2011-02-04 14:52:50 【问题描述】:

如何选择而不显示重复项? 实际上,它是这样显示的:apple |苹果| 高分辨率照片| CLIPARTO苹果| 高分辨率照片| CLIPARTO苹果

这是我的代码:

$search = $_GET['q'];
$query = "SELECT * FROM query WHERE searchquery LIKE '%$search%' AND searchquery <> '$search'"; 

【问题讨论】:

【参考方案1】:

你已经说出了神奇的词:DISTINCT。

SELECT DISTINCT columnname
FROM query
WHERE ....

请注意,如果您使用SELECT DISTINCT *,它可能不起作用,因为当您选择* 时,这意味着选择所有列,包括具有唯一约束(如主键)的列。只选择您需要的列 - 通常远离*,尤其是在使用DISTINCT 时。

【讨论】:

4 年后,您的答案仍在解决问题。谢谢! 补充答案:您可以使用 DISTINCT 或 GROUP BY(选择所有字段),当然 distinct 会更紧凑。 This question 对此进行了更多讨论。

以上是关于MYSQL:SELECT 方法 - 但不显示重复项/GROUP 或 DISTINCT?的主要内容,如果未能解决你的问题,请参考以下文章

SELECT * INTO <不存在的表>-MYSQL [重复]

MYSQL仅显示最早的重复项[重复]

mysql 删除重复项

MySQL 限制的 SQL Server 等效项 [重复]

使用mysql在临时表中显示每个组的重复项

导入 CSV 文件时的 MySQL 问题 - 不显示错误,但不导入