mysql MAX 查询不返回连接上的最新记录

标签 mysql sql

我有一个查询返回正确的数据,但左连接未返回最新记录(按日期上传列排序)感谢您的帮助。

select a.*,p.thumbnailphotopath as Picture from album_access ac 
inner join albums a on a.ID = ac.AlbumID 
left join (select albumid, thumbnailphotopath,max(DateUploaded) from photos where IsProcessed = 1 and IsPrivate = 0 GROUP BY albumID) p on a.ID = p.AlbumID #photos record not latest
where ac.AccessUserID = ? and ac.Ispending = 0 and ac.FullControl = 1 and a.Private = 1 order by a.DateCreated desc limit ?,?;

List of dates that return desc (its returning 2012-05-01 09:45:43 and thats not the latest)
2012-05-01 09:46:17 
2012-05-01 09:46:06
2012-05-01 09:45:43 --Returning this record 
2012-05-01 09:45:30
2012-05-01 09:39:49

最佳答案

您需要预查询来获取每个相册上传的最大日期,然后可以根据匹配的相册和日期限定符获取正确的相册条目...

select 
      a.*,
      pFinal.thumbnailphotopath as Picture 
   from 
      album_access ac 
         inner join albums a
            on ac.AlbumID = a.ID
           AND a.Private = 1
         left join ( select
                           p.albumid,
                           max( p.dateUploaded ) as MaxDate
                        from
                           photos p
                        where
                               p.IsProcessed = 1
                           AND p.IsPrivate = 0
                        group by 
                           p.AlbumID ) pMax
            on ac.AlbumID = pMax.AlbumID 
               left join photos pFinal
                  on pMax.AlbumID = pFinal.AlbumID
                 AND pMax.MaxDate = pFinal.DateUpladed
   where 
          ac.AccessUserID = ? 
      and ac.Ispending = 0 
      and ac.FullControl = 1 
   order by 
      a.DateCreated desc 
   limit ?,?;

关于mysql MAX 查询不返回连接上的最新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404958/

相关文章:

sql - 计数小于关联的 ActiveRecord 条件

c# - 自数据库创建以来支持 'EFDbContext' 上下文的模型已更改

sql - 如何使用 postgres 中的窗口函数选择特定更改

sql - 远程计算机拒绝网络连接错误

mysql - 查找具有不同值的行

php - 如何使用 PHP 在 MySQL 中存储 Facebook 用户的好友列表?

mysql 文件系统

php - undefined offset : -1 PDO in for loop

php - 当进行多个查询时获取最后一个查询的 id

php - 从 bootstrap 动态字段向 mysql 表插入数据