我正在尝试创建一个MySQL游戏光盘查询,以根据某些值相同而另一些不同的值找到一些重复项。
我需要字段“名称”,“光盘”,“平台”,“区域”相同。 但是我还需要字段“版本”不同。
我已经尝试了许多查询来执行此操作,例如下面的查询,但是似乎都无法按需工作。
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;
任何人都可以帮助我解决此查询吗?
谢谢。
光滑
答案 0 :(得分:0)
也许我遗漏了一些东西,但是解决方案似乎很简单:
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;