valor una ultimo ultima top tabla seleccionar registro primera obtener insertado insertada fila columna sql sql-server

una - Cómo leer la última fila con SQL Server



top ultimo sql (15)

¿Cuál es la forma más eficiente de leer la última fila con SQL Server?

La tabla está indexada en una clave única: los valores de clave "inferior" representan la última fila.


Así es como obtienes el último registro y actualizas un campo en Access DB.

ACTUALIZACIÓN de los SET tkt = addzone &''-''& customer_code &''-''& sn where sn in (select max(sn) from compalints )


Creo que a continuación la consulta funcionará para SQL Server con el máximo rendimiento sin ninguna columna ordenable

SELECT * FROM table WHERE ID not in (SELECT TOP (SELECT COUNT(1)-1 FROM table) ID FROM table)

Espero que lo hayas entendido ... :)


Estoy bastante seguro de que es:

SELECT last(column_name) FROM table

Porque yo uso algo similar:

SELECT last(id) FROM Status


Intenté utilizar el último en la consulta sql en el servidor SQl 2008, pero me da una explicación: "''último'' no es un nombre de función incorporado reconocido".

Así que terminé usando:

select max(WorkflowStateStatusId) from WorkflowStateStatus

para obtener el Id de la última fila. Uno también podría usar

Declare @i int set @i=1 select WorkflowStateStatusId from Workflow.WorkflowStateStatus where WorkflowStateStatusId not in (select top ( (select count(*) from Workflow.WorkflowStateStatus) - @i ) WorkflowStateStatusId from .WorkflowStateStatus)


Necesitará algún tipo de columna de identificación única en su tabla, como una clave principal de autocompletado o una columna de fecha y hora (preferiblemente la clave principal). Entonces puedes hacer esto:

SELECT * FROM table_name ORDER BY unique_column DESC LIMIT 1

La ORDER BY column le ordena reajustar los resultados de acuerdo con los datos de esa columna, y el DESC le dice que invierta los resultados (poniendo así el último). Después de eso, el LIMIT 1 le dice que solo pase una fila atrás.


Para recuperar la última fila de una tabla para la base de datos MS SQL 2005, puede usar la siguiente consulta:

select top 1 column_name from table_name order by column_name desc;

Nota: Para obtener la primera fila de la tabla para la base de datos MS SQL 2005, puede usar la siguiente consulta:

select top 1 column_name from table_name;


Puede usar last_value: SELECT LAST_VALUE(column) OVER (PARTITION BY column ORDER BY column)...

Lo pruebo en una de mis bases de datos y funcionó como se esperaba.

También puede consultar la documentación aquí: https://msdn.microsoft.com/en-us/library/hh231517.aspx


Si está utilizando MS SQL, puede intentar:

SELECT TOP 1 * FROM table_Name ORDER BY unique_column DESC


Si no tiene ninguna columna ordenada, puede usar la identificación física de cada línea:

SELECT top 1 sys.fn_PhysLocFormatter(%%physloc%%) AS [File:Page:Slot], T.* FROM MyTable As T order by sys.fn_PhysLocFormatter(%%physloc%%) DESC


Si parte de su ID está en orden, asumo que habrá algún orden en su DB

SELECT * FROM TABLE WHERE ID = (SELECT MAX(ID) FROM TABLE)


Si tiene una tabla Replicada, puede tener una Identidad = 1000 en base de datos local e Identidad = 2000 en la base de datos del cliente, de modo que si captura el último ID siempre encontrará el último del cliente, no el último de la base de datos conectada actualmente. Entonces, el mejor método que devuelve la última base de datos conectada es:

SELECT IDENT_CURRENT(''tablename'')


Prueba esto

SELECT id from comission_fees ORDER BY id DESC LIMIT 1


SELECT * FROM TABLE WHERE ID = (SELECT MAX(ID) FROM TABLE)


SELECT * from Employees where [Employee ID] = ALL (SELECT MAX([Employee ID]) from Employees)


select whatever,columns,you,want from mytable where mykey=(select max(mykey) from mytable);