3

以下を使用して、MySQL テーブルの最新のエントリを選択しています。

SELECT MAX(time) as most_recent, userID
FROM TableName
GROUP BY userID
ORDER BY most_recent DESC

私の問題は、次のように最大時間を制限したい場合です。

WHERE time <= nnn

クエリが機能しなくなりました。サブクエリなしでの解決策はありますか?

前もって感謝します!

4

2 に答える 2

2

サブクエリでそれを行うことができます:

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
于 2012-11-04T07:08:16.810 に答える
0

HAVING次のように句を使用します。

SELECT MAX(time) as most_recent, userID
FROM TableName
GROUP BY userID
HAVING MAX(time) <= nnn
ORDER BY most_recent DESC
于 2012-11-04T07:07:55.750 に答える