Mysql 按另一个表中最近的匹配项排序表
我想根据最近上传的照片对用户表进行排序。 我不会使用上传日期信息-它只是用于排序目的Mysql 按另一个表中最近的匹配项排序表,mysql,sorting,Mysql,Sorting,我想根据最近上传的照片对用户表进行排序。 我不会使用上传日期信息-它只是用于排序目的 Users +----+--------+ | id | name | +----+--------+ | 1 | John | | 2 | Alice | | 3 | Robert | | 4 | Fred | +----+--------+ Photos +----+---------+------+--
Users
+----+--------+
| id | name |
+----+--------+
| 1 | John |
| 2 | Alice |
| 3 | Robert |
| 4 | Fred |
+----+--------+
Photos
+----+---------+------+------------+
| id | photo | user | uploaded |
+----+---------+------+------------+
| 1 | aaa.jpg | 1 | 2012.01.01 |
| 2 | aba.jpg | 1 | 2013.01.01 |
| 3 | bbb.jpg | 4 | 2014.01.01 |
| 4 | ccc.jpg | 4 | 2015.01.01 |
| 5 | ddd.jpg | 4 | 2016.01.01 |
+----+---------+------+------------+
Expected resut
+----+--------+------------------+
| id | name | lastUpload |
+----+--------+------------------+
| 4 | Fred | 2016.01.01 |
| 1 | John | 2013.01.01 |
| 2 | Alice | null or whatever |
| 3 | Robert | null or whatever |
+----+--------+------------------+
您可以对GROUPBY使用left join和AGGRATION max函数
select a.id, a.name, max(b.uploaded) as lastupload
from users as a
left join Photos as b on a.id = b.user
group by a.id
order by lastupload, a.name