Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询多个连接_Mysql_Left Join_Max - Fatal编程技术网

MySQL查询多个连接

MySQL查询多个连接,mysql,left-join,max,Mysql,Left Join,Max,我有下面的查询,它给出了大部分正确的结果。唯一的问题是,可以有多张照片与相同的用户ID,我希望它拉最近上传的照片。它给了我一张随机的照片。我在tblimage中有一个timestamp字段,但我不知道如何将它合并到这个查询中,以提取最后上传的照片 选择tblimage.*,事件。* 从(事件左)加入tblfollowers ON events.id_user=tblfollowers.username) 在events.id\u user=tblimage.userid上左键加入tblimage

我有下面的查询,它给出了大部分正确的结果。唯一的问题是,可以有多张照片与相同的用户ID,我希望它拉最近上传的照片。它给了我一张随机的照片。我在
tblimage
中有一个timestamp字段,但我不知道如何将它合并到这个查询中,以提取最后上传的照片

选择tblimage.*,事件。*
从(事件左)加入tblfollowers
ON events.id_user=tblfollowers.username)
在events.id\u user=tblimage.userid上左键加入tblimage
式中(((tblfollowers.followers_id)=“$test”)
和(日期格式(events.start_DATE,%Y-%m-%d')=“$today”))
或(((tblfollowers.followers_id)='$test')
和(日期格式(events.end_DATE,%Y-%m-%d')=“$today”))
或(((events.id_user)=“$test”)
和(日期格式(events.start_DATE,%Y-%m-%d')=“$today”))
或(((events.id_user)=“$test”)
和(日期格式(events.end_DATE,%Y-%m-%d')=“$today”))
按事件分组。事件\u id
我想我可以分享更多的细节
tblimage
具有以下记录,例如:

userid=25照片=1.png时间戳=19年1月12日12:00
userid=25 photo=2.png时间戳=1:00 jan 18
我想让它只给我1月19日的照片

最后包括

按tblimage.userid分组按tblimage.userid说明排序


而且你已经包括了Goup by,因此你将获得用户的最新图片。

哇,这是非常复杂的

您需要在where子句中添加以下内容:

events.start_date=MAX(events.start_date) OR events.end_date=MAX(events.end_date)

如果该日期有多条记录,它将返回>1,除非该日期是时间戳,否则它不会返回。

如果您使用的是MYSQL,您可能希望切换到MYSQLi或其他东西…不是按tblimage订购的。时间戳?@tariq它的工作方式与Ricardo所说的一样。Group BY events.id_用户订单BY tblimage.timestamp DESC