Hola, si esto no se ha resuelto todavía. Para obtener el último registro de cualquier campo de una tabla, la manera más fácil sería agregar una ID a cada registro, por ejemplo, pID.También dicen que en la tabla que le gustaría hhet el último registro para cada 'Nombre', ejecute la consulta sencilla
SELECT Name, MAX(pID) as LastID
INTO [TableName]
FROM [YourTableName]
GROUP BY [Name]/[Any other field you would like your last records to appear by]
Ahora debe tener una tabla que contiene los nombres en una columna y la última disponible ID para ese Nombre. Ahora puede utilizar una combinación de conseguir los otros detalles de su tabla principal, dicen que esto es algún precio o la fecha a continuación, ejecute el siguiente:
SELECT a.*,b.Price/b.date/b.[Whatever other field you want]
FROM [TableName] a LEFT JOIN [YourTableName]
ON a.Name = b.Name and a.LastID = b.pID
esto, entonces usted debe dar los últimos registros para cada nombre, para el primer registro ejecuta las mismas consultas que las anteriores simplemente reemplaza el Max por Min anterior.
Esto debería ser fácil de seguir y debe correr más rápido, así
Si no hay ninguna columna "secuencia" o una fecha o algo que nunca puede encontrar el "último" estado de una manera consistente. Dependiendo de cómo esté indexada su tabla, si su plan de consulta usará varias CPU, etc. Obtendrá resultados inconsistentes. –
En realidad es posible. Puedo hacerte un sql, si realmente lo quieres. Aunque parece una petición extraña. Pero supongo que puede ser útil para una tabla de registro que nunca ha sido tocada con otra cosa que insertar. –
lo siento mucho por la pregunta que he hecho. No lo sabía y estaba realmente preparado para bajar el voto. –