gpt4 book ai didi

mysql - 子查询获取最后一条记录

转载 作者:行者123 更新时间:2023-11-29 08:39:25 25 4
gpt4 key购买 nike

我有 2 个表:UserSession。对于每个用户,我想知道 session 表中的最后一条记录是否是去年创建的。

我尝试了以下方法,但不起作用:

SELECT *
FROM(
SELECT MAX(`Session`.acDateF) as MaxDateF
FROM `Session`
WHERE `Session`.acType='1'
) as AcDate
GROUP BY `Session`.userId)
WHERE YEAR(`Session`.acDateF) =YEAR(CURRENT_DATE())-1

如果用户今年在 Session 表中拥有记录,则该记录不会出现在结果中。

最佳答案

你的问题不是很清楚,但听起来你想要这样的东西:

SELECT * 
FROM `Session` s
INNER JOIN
(
SELECT MAX(`Session`.acDateF) as MaxDateF, `Session`.userId
FROM `Session`
WHERE `Session`.acType='1'
AND YEAR(s.acDateF) =YEAR(CURRENT_DATE())-1
GROUP `Session`.userId
) as AcDate
ON s.userId = AcDate.userId
AND s.acDateF = AcDate.MaxDateF;

或者如果您想要用户数据:

SELECT * 
FROM `user` u
INNER JOIN
(
SELECT MAX(`Session`.acDateF) as MaxDateF, `Session`.userId
FROM `Session`
WHERE `Session`.acType='1'
AND YEAR(s.acDateF) =YEAR(CURRENT_DATE())-1
GROUP `Session`.userId
) as AcDate
ON u.userId = AcDate.userId;

关于mysql - 子查询获取最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14261290/

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