首页 > 解决方案 > 加入两个表以获得人的最大登录时间

问题描述

我有两张桌子。一个用于客户,另一个用于管理登录历史记录。现在我要做的是从客户表中获取客户姓名和电子邮件,以及从 loghistory 表中获取上次登录时间。

我使用了以下查询:

select cust_email, login_time, cust_email
from customer
left join login on customer.cust_id = login.cust_id
GROUP by cust_id

它给了我正确的结果,为从未登录的客户显示 NULL,但给出了其他客户的第一次登录时间,而不是最新一次。如何获取客户的最后登录时间?

标签: mysqlsql

解决方案


语句中的使用MAX()& 列SELECT必须聚合或者它应该是 withGROUP BY子句:

select c.cust_email, max(l.login_time)
from customer c left join 
     login l
     on c.cust_id = l.cust_id
GROUP BY c.cust_email;

alias注意:使用易于理解和阅读的 表格。


推荐阅读