Mostrar los últimos 100 registros
Como tengo que hacerlo para visualizar los últimos 100 registros de una tabla, ordenados de forma ascendente. Es decir, de esta forma me muestra los últimos 100 registros pero el primero es el id más alto y yo quiero que el primero sea el id más bajo.
SELECT TOP(100) * FROM principal ORDER BY id DESC Alguna idea ? |
Que base de datos usaas??
Con algunas base de datos se puede hacer:
|
Aqui expongo una solucion:
CREATE PROCEDURE UspUltimosRegistros @Reg int --Cantidad de registros a mostrar AS DECLARE @CAD1 AS VARCHAR(5), @CAD2 AS VARCHAR(200) SET @CAD1=(SELECT COUNT(ID)FROM TABLA)-@Reg SET @CAD2='select * from TABLA where ID NOT IN (select top '+@CAD1+ ' ID from TABLA)' EXECUTE(@CAD2) GO EXEC UspUltimosRegistros 10 |
respuesta a tu consulta de TOP()
Hola, el tema esta que cuando usas las funciones TOP, SUM, etc, debes incluir un GROUP BY, prova de hacer eso y solucionara tu problema, qudaria mas o menos asi
Select * from (SELECT TOP(100) * FROM principal GROUO BY CRITERIO ORDER BY ID) |
Solo como nota he de decir que no toda base de datos soporta ese tipo de consulta.
Saludos |
La franja horaria es GMT +2. Ahora son las 07:36:54. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi