【问题标题】:Join newest row off second table to each row of first table将第二个表的最新行加入到第一个表的每一行
【发布时间】:2017-10-25 13:06:20
【问题描述】:

我有两张桌子:

Table 1
ID    Username
1     human
2     humane
3     humaner

Table 2
ID    userID  date        data1  data2
1     1       2017-10-25  25     12
2     1       2017-10-24  11     13
3     2       2017-10-25  43     24

我只想像这样加入表 2 的最新数据:

username  date         data1  data2
human     2017-10-25   25     12
humane    2017-10-25   43     24

如何在 mysql 中使用 php 实现这一点? 我尝试使用 2 个连接来实现,但我认为它的性能并不高 :)

【问题讨论】:

  • 您是否将'最新数据'定义为某个特定日期之后的日期?还是表格中的最新日期,不管它是什么时候?

标签: php mysql database join


【解决方案1】:
 SELECT  t1.*, t2.*
 FROM Table1 t1
 JOIN Table2 t2
   ON t1.ID = t2.user_id
 WHERE NOT EXISTS (SELECT 1
                   FROM Table2 Q
                   WHERE Q.user_id = t2.user_id
                     AND Q.date > t2.date)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    相关资源
    最近更新 更多