连接两个表以获得该人的最大登录时间

时间:2018-10-23 09:25:58

标签: mysql sql

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

我使用了查询:

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

它为我提供了正确的结果,为从未登录过的客户显示NULL,但给出其他客户的首次登录时间而不是最新的登录时间。如何获得客户的上次登录时间?

3 个答案:

答案 0 :(得分:1)

使用void MainWindow::on_cbItalic_stateChanged(int arg1) { QFont font = ui->textEdit->font(); font.setItalic(arg1); ui->textEdit->setFont(font); } void MainWindow::on_cbBold_stateChanged(int arg1) { QFont font = ui->textEdit->font(); font.setBold(arg1); ui->textEdit->setFont(font); } 语句中的MAX()和列必须进行汇总,或者应该与SELECT子句一起使用:

GROUP 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;

答案 1 :(得分:0)

使用`std::vector<int> v;`{:.CSSClass} 函数

max()

答案 2 :(得分:0)

我认为您应该使用简单的“ Join”,而不要使用order by子句进行联接。试试这个:

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