2

重複の可能性:
MySQL で最も高い値を持つ行を取得する

複数選択する方法はありますlast rowsか?

したがってversion_id、最後のエントリを選択するために使用したい列があります。

そして、別の列がありactual_idます。

actual_idsそれらの最新バージョンに基づいてリストを引き出したいと思います。

Last()機能しません。これを行う方法だと聞きましたorder by version_id desc limit 1が、取得する結果セットを 1 行に制限します。

これについて行く方法はありますか?ありがとう

4

4 に答える 4

1

必要order by version_id descなデータセットが得られます。次に、制限句により、必要な結果の量が得られます。

1 だけでなく、任意の数を指定できます。制限 5、制限 1000、または必要に応じて何でも実行できます。

order by version_id desc limit 10
于 2012-10-03T21:42:49.070 に答える
1

各実際の ID の最新バージョンを取得する 1 つの方法を次に示します。

select t.*
from t join
     (select t.actual_id, max(version_id) as maxv
      from t
      group by t.actual_id
     ) mt
     on t.actual_id = mt.actual_id and t.version = mt.maxv
于 2012-10-03T21:43:05.617 に答える
0

SQL Server を使用している場合は、単純に次のようにします。

select top n actual_id, version_id from ActualVersion order by version_id desc

n を、選択したい上位レコードの数に置き換えることができます。

于 2012-10-03T21:42:52.343 に答える
0

1(たとえば)に変更できます5

order by version_id desc limit 5
于 2012-10-03T21:43:53.623 に答える