我有一个 Select 查询,它返回时间少于 8 天的所有会话的会话 ID。它工作得很好!
SELECT sessionID FROM session WHERE sessionStatus = 'open' GROUP BY sessionID HAVING MAX(refTime) <= 8;
Run Code Online (Sandbox Code Playgroud)
但是,我正在尝试更新表,以便会话 ID 小于 8 天的每条记录都将其 sessionStatus 更改为“已关闭”。从stackoverflow我知道我无法更新我也从中选择的表,并且拥有和分组依据是使这变得更加复杂的agerate函数。
我试过这个,但没有骰子!
UPDATE session
SET sessionStatus='closed'
WHERE sessionID = (select * from (SELECT MAX(sessionID) FROM session where sessionStatus = 'open') as t);
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助!
mysql ×1