全选但忽略重复项

Ruf*_*uf1 3 mysql sql group-by distinct

我有一个 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
Run Code Online (Sandbox Code Playgroud)

SELECT * DISTINCT url
FROM directory_listings
WHERE status = 'approved'
ORDER BY site_name ASC
LIMIT $start, $per_page
Run Code Online (Sandbox Code Playgroud)

Air*_*Air 5

@AlexW - 只是“url”列可能存在重复项 - Ruf1 9 分钟前

然后,如果您更正语法,您的第一个查询将起作用 -GROUP BY必须遵循WHERE(根据文档):

SELECT *
FROM directory_listings
WHERE status = 'approved'
GROUP BY url
ORDER BY site_name ASC
Run Code Online (Sandbox Code Playgroud)

这是 SQL Fiddle 中的工作查询示例。