0

多くのユーザーがいて、それぞれが 10 の質問を受け、いくつかのタイム スタンプを残しています。私が理想的にやりたいことは、n 番目のユーザーの完全な時間を見つけることです。n は、ユーザー ID ではなく、タイムスタンプの昇順で決定されます。

これは機能しませんが、必要なものを感じてもらうために、これを実行できればとてもうれしいです:

SELECT <N-TH> MAX(u.time) AS maxTime FROM Users u
Group BY u.userId   ORDER BY maxTime

何かご意見は?今、私は走っています

SELECT MAX(u.time) AS maxTime FROM Users u
Group BY u.userId   ORDER BY maxTime

結果を配列として取得し、n 番目のエントリを見つけます。

4

4 に答える 4

0

多くの可能な方法がありますが、カフから外れています... CTEまたはサブクエリを使用できます。試す

SELECT MAX([maxTime]) AS [LastEntry] FROM (
    SELECT MAX(u.time) AS maxTime,u.userId 
    FROM Users u 
    GROUP BY u.userId,u.time) t

わかりました、これを試してください...

WITH CTE ([maxTime], [userId ]) AS (
    SELECT MAX([time]) AS [maxTime],
        [userId]
    FROM Users
    GROUP BY [userId])
    SELECT MAX([maxTime]) AS [maxTime]
    FROM CTE;

HTH

デイブ

于 2013-06-07T13:35:00.960 に答える