Mysql 明显不起作用

Mysql 明显不起作用,mysql,sql,Mysql,Sql,sql似乎是我的弱点-此查询返回同一行三次-我希望它只返回一行-尝试了distinct user.user\id和distinct posts.user\id(这是关系)都不起作用 SELECT DISTINCT posts.user_id, upd8r_stations.title, posts.dated, user_data.user_id, user_data.

sql似乎是我的弱点-此查询返回同一行三次-我希望它只返回一行-尝试了distinct user.user\id和distinct posts.user\id(这是关系)都不起作用

SELECT DISTINCT posts.user_id,
                upd8r_stations.title,
                posts.dated,
                user_data.user_id,
                user_data.delegate_no,
                user_data.first_name,
                user_data.surname,
                user_data.company_name,
                user_data.tel_no,
                user_data.email_addr,
                user_data.rfid_tag
FROM   user_data,
       posts,
       upd8r_stations
WHERE  posts.station_id IN (SELECT station_id
                            FROM   upd8r_stations
                            WHERE  owner_id = '10')
       AND user_data.user_id = posts.user_id
       AND posts.station_id = upd8r_stations.station_id
ORDER  BY posts.dated DESC  

DISTINCT操作SELECT语句的所有列


我想其他一些专栏是不同的<代码>帖子。注明日期的或
upd8r\U电台。标题
似乎是这方面的候选人。

你能给我们看看你得到的数据吗?似乎DISTINCT不太可能不起作用。我猜它不会返回“同一行三次”。大概这个用户发了3篇帖子?(或者在
upd8r_站
中有3条匹配记录)在这种情况下,您希望
帖子的值是多少。日期
upd8r_站。标题
?三次都是同一行,这与我的连接有关结果不会包含三次相同的行,某些列之间可能有一些不同,您无法确定(像一些多余的空间)。您在一组较小的列上使用Select Distinct,将更容易确定哪列的数据不正确。我只需要返回唯一的user_数据行-需要知道在属于所有者的站点上发表文章的每个用户10@Chris-因此,如果他们在不同的时间发表了3篇不同的帖子,而这些帖子的日期是
posts.dated
应该在那一行中返回吗?@Chris-这取决于你!为什么你首先要包括这个列?如果你不需要它,就删除它。如果你需要它,你想要哪个值?例如,第一个,最后一个?所有这些值都连接到一个分隔字符串中?好的,谢谢你认为我现在得到了它。我将删除带日期的字段D