【问题标题】:MySQL Query left join repeated recordsMySQL Query left join 重复记录
【发布时间】:2013-04-02 00:00:04
【问题描述】:

使用左连接我有这个结果。

屏幕在这里
http://f.cl.ly/items/373Y141r1K131d0n3f1q/Schermata%202013-04-01%20alle%2016.51.18.png

我只想显示一次记录,不重复,但是左连接我的所有记录都不同。
一旦我的所有记录都显示出来,我需要做什么?

查询。

 SELECT * FROM login_users
 LEFT JOIN login_users_seguaci
 ON login_users.user_id = login_users_seguaci.following
 WHERE name LIKE ""
 AND user_id != '1'
 ORDER BY data DESC

【问题讨论】:

  • 给我们一些表格中的数据...看来您的表格中有重复项:login_users_seguaci 或 login_users,这正常吗?(如果没有的话:)

标签: php mysql left-join


【解决方案1】:
SELECT  x.*, y.*
FROM    login_users x
        LEFT JOIN
        (
            SELECT  a.*
            FROM    login_users_seguaci a
                    INNER JOIN
                    (
                        SELECT  following, MAX(DATA) max_data
                        FROM    login_users_seguaci
                        GROUP   BY following
                    ) b ON  a.following = b.following AND
                            a.DATA = b.max_date
        ) y ON x.user_id = y.following
//  WHERE   ... your condition here ...
ORDER   BY t.data DESC

【讨论】:

  • @KA_lin 当我完成左连接时,我发现了这些结果。我不想找到具有相同“user_id”的记录。所以我必须找到解决这个问题的方法。 @J W 不知道“b.max_date”。
  • 您想要的结果究竟是什么?您能否提供具有所需结果的示例数据,例如this question (click)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-05
  • 2013-11-28
相关资源
最近更新 更多