経過時間が 8 日未満のすべてのセッションのセッション ID を返す Select クエリがあります。それはうまくいきます!
SELECT sessionID FROM session WHERE sessionStatus = 'open' GROUP BY sessionID HAVING MAX(refTime) <= 8;
しかし、8 日未満のセッション ID を持つすべてのレコードの sessionStatus が「closed」に変更されるように、テーブルを更新しようとしています。stackoverflow から、私も選択しているテーブルを更新できないこと、および Have と Group By がこれをより複雑にする agerate 関数であることを知っています。
私はこれを試しましたが、サイコロはありません!
UPDATE session
SET sessionStatus='closed'
WHERE sessionID = (select * from (SELECT MAX(sessionID) FROM session where sessionStatus = 'open') as t);
私は本当に助けていただければ幸いです!