以下を使用して、MySQL テーブルの最新のエントリを選択しています。
SELECT MAX(time) as most_recent, userID
FROM TableName
GROUP BY userID
ORDER BY most_recent DESC
私の問題は、次のように最大時間を制限したい場合です。
WHERE time <= nnn
クエリが機能しなくなりました。サブクエリなしでの解決策はありますか?
前もって感謝します!
サブクエリでそれを行うことができます:
select t.userID, max(t.time)
from
(
select userID, time
from tableName
where time <= nnn
) t
group by t.userID
または単に:
select userID, max(time)
from tableName
where time <= nnn
group by userID
HAVING
次のように句を使用します。
SELECT MAX(time) as most_recent, userID
FROM TableName
GROUP BY userID
HAVING MAX(time) <= nnn
ORDER BY most_recent DESC