php - 将第二个表的最新行连接到第一个表的每一行

标签 php mysql database join

我有两个表:

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 个连接来做,但我认为它的性能不是很好 :)

最佳答案

 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)

关于php - 将第二个表的最新行连接到第一个表的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46933289/

相关文章:

php - 订单日期查询,语法错误

javascript - 如何计算商品及服务税值

mysql - 想建立一个拥有 70 亿关键字的数据库 - 需要指导

php - fgets 中的内存泄漏

php - 在函数内部使用时 CURL 不起作用

mysql - 需要按类别 - 子类别按总金额检索前 3 位供应商

php - Mysql数据库是否关闭

java - MYSQL 删除语句不适用于 Java Servlet

sql - 修改 SQL 语句以追加表中的列

database - Java UserTransaction 中的多个数据库连接