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);