mysql - 加入两个表以获得人的最大登录时间
问题描述
我有两张桌子。一个用于客户,另一个用于管理登录历史记录。现在我要做的是从客户表中获取客户姓名和电子邮件,以及从 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,但给出了其他客户的第一次登录时间,而不是最新一次。如何获取客户的最后登录时间?
解决方案
语句中的使用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
注意:使用易于理解和阅读的 表格。
推荐阅读
- angular - Angular:实例化具有 StaticProvider 作为参数的类
- excel - 如何将数据从csv文件导入excel中的现有数据透视表
- c# - 将鼠标光标保持在游戏窗口内
- scala - 如何从 Scala 中的数组创建 DataFrame?
- php - 如何在刀片视图中访问对象(stdClass)
- excel - Range.Find 根据条件返回正确的值
- javascript - 登录时没有为 axios 拦截器附加会话令牌
- jquery - 如何在 jquery 中从 var 值(2020 年 3 月 10 日)设置输入日期?
- wpf - 在 ScrollViewer 中控制 Canvas 的大小
- sql - 以相同编号开始的行分组到单行 MS Access SQl