MySQL根据一些匹配字段和一些不匹配字段查找重复项
我正在尝试创建一个游戏光盘的MySQL查询,根据一些值相同,一些值不相同来查找一些重复项 我需要字段“名称”、“光盘”、“平台”、“区域”相同。 但我还需要字段“版本”不同 我已经尝试了许多查询来实现这一点,比如下面的一个查询,但似乎没有一个能够按照预期工作MySQL根据一些匹配字段和一些不匹配字段查找重复项,mysql,Mysql,我正在尝试创建一个游戏光盘的MySQL查询,根据一些值相同,一些值不相同来查找一些重复项 我需要字段“名称”、“光盘”、“平台”、“区域”相同。 但我还需要字段“版本”不同 我已经尝试了许多查询来实现这一点,比如下面的一个查询,但似乎没有一个能够按照预期工作 SELECT * FROM media.amps_2000_box_a INNER JOIN (SELECT * FROM media.amps_2000_box_a GROUP BY
SELECT *
FROM media.amps_2000_box_a
INNER JOIN (SELECT *
FROM media.amps_2000_box_a
GROUP BY name
HAVING COUNT(name) > 1) dup
ON media.amps_2000_box_a.name = dup.name and media.amps_2000_box_a.disk = dup.disk and media.amps_2000_box_a.format = dup.format and media.amps_2000_box_a.region = dup.region and media.amps_2000_box_a.version<> dup.version
order by dup.name;
有人能帮我解决这个问题吗
提前谢谢
slick也许我遗漏了什么,但解决方案似乎很简单:
SELECT DISTINCT
amps1.name,
amps1.disk,
amps1.platform,
amps1.region
FROM media.amps_2000_box_a amps1
JOIN media.amps_2000_box_a amps2
ON amps1.name = amps2.name
AND amps1.disk = amps2.disk
AND amps1.platform = amps2.platform
AND amps1.region = amps2.region
AND amps1.version <> amps2.version
ORDER BY amps1.name;
这个怎么了?我假设这个查询没有正确处理这些数据?除了阅读并提供文本格式的示例数据和预期结果之外,我认为这就成功了!谢谢我自己对加入MySQL还是有点陌生。