次のレコードセットがあり、前回のバージョン変更のタイムスタンプを取得したいとします。最新のタイムスタンプの変更SQL Server
id ver date_create
123 1.0.9.8 2016-04-07 12:36:26.567
123 1.0.9.8 2016-03-25 09:10:26.303
123 1.0.9.8 2016-03-25 08:50:42.553
123 1.0.9.8 2016-03-24 11:09:47.620
123 1.0.9.8 2016-03-12 21:30:47.823
123 1.0.9.8 2016-03-12 13:38:44.950 <-- I have to get this record only
123 1.0.0.4 2016-03-06 20:26:54.477
123 1.0.9.8 2016-03-06 16:25:28.790
123 1.0.0.4 2016-03-03 21:41:35.807
123 1.0.0.4 2016-03-02 19:00:30.257
123 1.0.9.8 2016-03-02 18:24:42.060
123 1.0.0.4 2016-02-29 08:04:43.367
私は分(タイムスタンプ)を取得する方法がわからない私は、最大バージョンを取得することができたと、次のクエリ、その後lag.Howeverを持って
SELECT id,ver,date_create,LAG(date_create) OVER (ORDER BY date_create DESC) AS lag
FROM mytable
ORDER BY date_create DESC
出力
123 1.0.9.8 2016-05-10 07:13:55.070 NULL
123 1.0.0.4 2016-03-06 20:26:54.477 2016-03-12 13:38:44.950 <-- I got the timestamp using the lag
所望の出力
123 1.0.9.8 2016-03-12 13:38:44.950
これはこのバージョンの最小値ではありませんか? 123 1.0.9.8 2016-03-02 18:24:42.060 –
なぜ1.5.1.5が最新バージョンではないのですか? –
@FerdinandGasparはい、バージョン変更後の最小タイムスタンプが必要です。 –