Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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_Sorting - Fatal编程技术网

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