【发布时间】:2014-04-25 22:38:20
【问题描述】:
我有一个 mysql 表,其中一个字段将包含重复项。我正在尝试选择所有但忽略此字段中存在重复的所有行。
因此,例如,如果我总共有 10 行,其中 3 行有重复,我想返回 8 行。 7 个是唯一的和 3 个重复项中的 1 个。
我尝试过 distinct 和 group by 都没有成功。他们忽略所有 3 个重复项。
这是我尝试过的:
SELECT *
FROM directory_listings
GROUP BY url
WHERE status = 'approved'
ORDER BY site_name ASC
LIMIT $start, $per_page
和
SELECT * DISTINCT url
FROM directory_listings
WHERE status = 'approved'
ORDER BY site_name ASC
LIMIT $start, $per_page
【问题讨论】:
-
为什么要返回 1 个重复项?
-
为了完整起见,我需要返回其中一个副本。如果我有记录 a、b、b、c、d,那么我想返回 a、b、c、d
-
@Ruf1 所有列的重复值是否相同,还是只是某个列中的重复?
-
@AlexW - 它只是“url”列,可能有重复
标签: mysql sql group-by distinct