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

23 浏览
0 Comments

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

如何选择并且不显示重复项?\n实际上,它显示的是这样的:苹果 | 苹果 | 苹果 | 苹果\n这是我的代码:\n

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

0
0 Comments

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

问题的原因:

在使用SELECT语句时,有时会遇到需要筛选出不重复的结果的情况。然而,默认情况下,SELECT语句会返回所有符合条件的结果,包括重复的项。这可能导致结果集中出现重复的数据,不符合我们的需求。

解决方法:

为了解决这个问题,我们可以使用DISTINCT关键字。在SELECT语句中加入DISTINCT关键字,可以确保返回的结果集中不包含重复的项。具体的语法如下:

SELECT DISTINCT columnname
FROM query
WHERE ....

需要注意的是,如果使用SELECT DISTINCT *,可能无法达到预期的效果。因为使用*表示选择所有列,包括具有唯一约束(例如主键)的列。为了避免这种情况发生,我们应该只选择需要的列,尽量避免使用*,特别是在使用DISTINCT时。

补充说明:

除了使用DISTINCT关键字,还可以使用GROUP BY来实现相同的效果。使用GROUP BY时,需要将所有的字段都列出来进行分组,而使用DISTINCT可以更加简洁地实现相同的功能。根据实际情况选择使用DISTINCT或GROUP BY。

在使用MYSQL的SELECT语句时,如果需要筛选出不重复的结果,可以使用DISTINCT关键字。避免使用SELECT DISTINCT *,只选择需要的列。另外,也可以考虑使用GROUP BY来实现相同的效果。根据具体需求选择合适的方法,以获得预期的结果。

0