gpt4 book ai didi

sql - MySQL 需要帮助.. 我如何过滤 max(date)

转载 作者:行者123 更新时间:2023-11-29 03:51:57 27 4
gpt4 key购买 nike

我有一个这样假设的表

[表一]
用户识别码 | UNAME
------------------
001 |一个
002 |乙
003 | c

[表b]
用户识别码 |日志
----------------------
001 | 2009/08/01
001 | 2009/08/03
003 | 2009/08/02

我想要这样的查询
用户识别码 |最后日志
----------------------
001 | 2009/08/03
002 |空
003 | 2009/08/02

那个结果我已经完成了,但是当我想添加过滤器 laSTLogin 时我遇到了一个问题,假设如果我输入过滤器以显示在“2009/08/03”之前拥有 laSTLogin 的所有用户,我想要这样的结果

UID |最后日志
----------------------
003 | 2009/08/02

这消除了 UID 001,因为 001 在 2009/08/03 上次登录

我像这样使用 sql 命令

SELECT a.uid, max(logs.date)
FROM user a LEFT JOIN logs ON (a.uid = logs.uid)
where max(logs.date)<'2009/08/03'
group by a.uid

我如何添加过滤器以仅显示 2009/08/03 之前的 max(logs.date),因为第 3 行“where max(logs.date)<'2009/08/03' 导致错误 invalid group by功能。谢谢

最佳答案

试试这个:

SELECT a.uid, max(logs.date)
FROM user a LEFT JOIN logs ON (a.uid = logs.uid)
group by a.uid
having max(logs.date)<'2009/08/03'

关于sql - MySQL 需要帮助.. 我如何过滤 max(date),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320083/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com