Foros del Web » Programando para Internet » ASP Clásico »

Que es lo opuesto de Select Top 10

Estas en el tema de Que es lo opuesto de Select Top 10 en el foro de ASP Clásico en Foros del Web. Quiero hacer una consulta en base de datos.... pero no se como seleccionar los ultimos 10 registros que di de alta Me pueden ayudar Gracias...
  #1 (permalink)  
Antiguo 02/09/2011, 12:56
Avatar de Maxon  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey NL
Mensajes: 263
Antigüedad: 22 años, 4 meses
Puntos: 0
Que es lo opuesto de Select Top 10

Quiero hacer una consulta en base de datos.... pero no se como seleccionar los ultimos 10 registros que di de alta

Me pueden ayudar

Gracias
  #2 (permalink)  
Antiguo 02/09/2011, 15:14
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 13 años, 7 meses
Puntos: 63
Respuesta: Que es lo opuesto de Select Top 10

Tu propio título de tema te dice la respuesta, no entiendo por que quieres otra alternativa si esa es la que hay.

Saludos
  #3 (permalink)  
Antiguo 02/09/2011, 16:30
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: Que es lo opuesto de Select Top 10

Maxon, el top X actúa sobre el orden que se le de a los registros. Si, digamos, ordenás el query por fecha de manera ascendente, el top 10 te devolverá los 10 primeros registros que devolvería ese query si no estuviese presente el top 10: es decir, lo 10 primeros cargados.

Si ordenás de manera descendente, el top 10 te devolverá los últimos diez cargados.

Me explico?

Edito: claro que el orden que tengan esos registros dentro del recordset corresponderá con el del order by que le diste al query.
__________________
...___...
  #4 (permalink)  
Antiguo 04/09/2011, 16:31
Avatar de Maxon  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey NL
Mensajes: 263
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Que es lo opuesto de Select Top 10

Gracias AIZuwaga... me queda claro. Pero ahora tengo un problema...

Tengo 12 registros

id 1 ene
id 2 feb
id 3 mar
id 4 abr
asi hasta
id 12 dic

si la consulta la hago con top 3 order by id desc me devuelve

dic
nov
oct

como puedo cambiar el orden????

oct
nov
dic
  #5 (permalink)  
Antiguo 04/09/2011, 21:47
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Que es lo opuesto de Select Top 10

Necesitas una tabla con el mes y el orden en que los quieres (ya que alfabeticamente no te sirve)

Seria algo como:

Mes->Orden
ene->1
feb->2
mar->3
...
dic->12

Luego la relacionas con la tabla que ya tienes y ordenas por el campo "Orden"

Saludos
  #6 (permalink)  
Antiguo 05/09/2011, 07:01
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: Que es lo opuesto de Select Top 10

Hola, amén de la solución del master tigurón, yo intentaría algo así como...

Código:
recordset.MoveLast
while not recordset.BOF
//sarasasasa
recordset.MovePrevious
wend
Igual... hace tanto que no toco asp que puedo estar muy confundido :-/

Edito: la idea que propongo es recorrer el recordset de manera inversa.
__________________
...___...
  #7 (permalink)  
Antiguo 05/09/2011, 22:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Respuesta: Que es lo opuesto de Select Top 10

Una alternativa a la solución planteada por los compañeros es hacerlo directamente con SQL, solo lo probé en MS SQL:

Código SQL:
Ver original
  1. SELECT campos FROM (
  2.      SELECT TOP 3 campos FROM tabla ORDER BY campo_id DESC) AS v1
  3. ORDER BY campo_id;

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Etiquetas: registros, select, top
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:55.