Sql-Server
從多個值中選擇最後一個日期
我有這張桌子:
我想做一個查詢,允許我顯示 分組中的最後一個值。它會是這樣的:
fecha_gestion``NitSec
SELECT id_log, fecha_gestion, nitsec FROM table GROUP BY nitsec ORDER BY fecha_gestion DESC
我想要的結果是這樣的:
ID_log | fecha_gestion | nitsec 6 | 2020-01-03 09:52 | 5443 11 | 2020-01-03 10:12 | 1 15 | 2020-01-03 10:23 | 3286
完成此操作後,我需要一個內部連接(但我可以輕鬆完成)。提前致謝。
一種可能的方法是使用以下方法對行進行適當編號
ROW_NUMBER()
:SELECT id_log, fecha_gestion, nitsec FROM ( SELECT id_log, fecha_gestion, nitsec, ROW_NUMBER() OVER (PARTITION BY nitsec ORDER BY fecha_gestion DESC) AS rn FROM table ) t WHERE rn = 1
因為沒有給出樣本數據,所以下一個查詢未經測試:
SELECT ID_log, fecha_gestion, nitsec FROM table t1 WHERE NOT EXISTS (SELECT 1 FROM table t2 WHERE t2.nitsec = t1.nitsec and t2.fecha_gestion < t1.fecha_gestion)