Mysql 按左侧加入日期排序

Mysql order by left join date

我有两个表,用户和会话。每个用户可以有多个会话。我想获取用户名和他最近一次会话的日期。但我需要以能够 return 按上次会话日期排序的数组的方式执行此操作。此外,一些用户可能没有会话,因此左连接将 return 没有日期。

SELECT u.name, max(s.sdate) FROM users u
LEFT JOIN sessions s ON s.uid=u.id
ORDER BY s.sdate
LIMIT 25,25

显然这行不通,但我想要一些简单的方法。相似的东西?请注意,由于分页,我还需要指定 return 的哪一组行。这是第 2 页。我确实看到过类似的帖子,但它们对我的使用来说过于复杂。

为了便于理解,我对其进行了简化。

我相信在您的情况下,您只需按用户对结果进行分组。 尝试

SELECT u.name, max(s.sdate) AS dt FROM users u
LEFT JOIN sessions s ON s.uid=u.id
GROUP BY u.id
ORDER BY dt
LIMIT 25,25