查询选择重复记录

时间:2012-02-08 12:39:04

标签: mysql duplicates record

我想从website.advert中选择所有记录,并从其他表中加入玩家名称。查询自行运行时没有任何错误,但是有一个问题是它确实从website.advert 中选择了重复的记录在播放器中有多个具有相同account_id的记录表

这是我的问题:

  SELECT `advert`.*, `p`.`name`, `p`.`level`
   FROM `website`.`advert`
   LEFT JOIN `player`.`player` `p`
   ON (`p`.`account_id` = `website`.`advert`.`author_id`)
   WHERE `advert`.`accepted` = 0

2 个答案:

答案 0 :(得分:2)

您需要使用DISTINCT,但我无法确定您的查询。您似乎没有从website.advert

中选择任何字段

抱歉,编辑:

SELECT `advert`.*, `p`.`name`, `p`.`level`
 FROM `website`.`advert`
 LEFT JOIN `player`.`player` `p`
 ON (`p`.`account_id` = `website`.`advert`.`author_id`)
 WHERE `advert`.`accepted` = 0
 GROUP BY `advert`.`id`

我们现在只是选择id字段 - 尝试一下,看看它是否能让您更接近您期望的结果。

答案 1 :(得分:1)

尝试此查询:

SELECT a.*, p.name, p.level
   FROM advert a LEFT JOIN player p
   ON (p.account_id = a.author_id)
   WHERE a.accepted = 0
group by p.account_id