2017-11-30 10 views
0

私は、UNIXのタイムスタンプと物の説明を持つテーブルを持っています。テーブルには、それぞれ異なるタイムスタンプを持つ複数のエントリがあります。私は各事の最後の5つのタイムスタンプを選択する必要があります。MYSQL - 特定のフィールドに基づいて最新の5行を返す

Aの行が100行、B行の行が130行、Cの行が20行の場合、それぞれの最後の5つを見たいと思っています。

私は制限を試しましたが、それは私に質問の最後の5つを与えます。

何か提案がありがとうございます。

+0

あなたのテーブル、レコードと所望の出力を共有してください。 – lucky

+0

はい。それは確かに重複した質問でした。正しい質問スレッドと答えへのポインタに感謝します。 – Eric

答えて

0

あなたはROW_NUMBER(MySQLの8.0)を使用することができます

SELECT * 
FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY col1 ORDER BY time_col DESC) rn 
     FROM tab) sub 
WHERE rn <= 5; 
0

100の行を、あなたは簡単に行うことができます

select t.* 
from t 
where (select count(*) 
     from t t2 
     where t2.thing = t.thing and t2.timestampe <= t.timestamp 
    ) <= 5; 
関連する問題