我有两个桌子。一个用于客户,另一个用于管理登录历史记录。现在,我要做的是从客户表中获取客户名称和电子邮件,并从日志历史表中获取上次登录时间。
我使用了查询:
select cust_email, login_time, cust_email
from customer
left join login on customer.cust_id = login.cust_id
GROUP by cust_id
它为我提供了正确的结果,为从未登录过的客户显示NULL,但给出其他客户的首次登录时间而不是最新的登录时间。如何获得客户的上次登录时间?
答案 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