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

Parar de contar registros

Estas en el tema de Parar de contar registros en el foro de ASP Clásico en Foros del Web. Hola a todos!! Os cuento mi duda: Estoy elaborando un zona de noticias para una web. Actualmente se muestran todas las noticias almacenas en una ...
  #1 (permalink)  
Antiguo 26/11/2003, 04:06
 
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 8
Antigüedad: 21 años, 5 meses
Puntos: 0
Pregunta Parar de contar registros

Hola a todos!!

Os cuento mi duda:
Estoy elaborando un zona de noticias para una web. Actualmente se muestran todas las noticias almacenas en una base de datos, pero para la página principal quisiera que solo mostrar las 5 últimas. Ya tengo toda la sentencia elaborada utilizando un ORDER BY según fecha, pero no se como parar de mostrar noticias. Me interesarían que solo se mostraran 5 registro.

¿Alguien me puede echar un cable?

Como información os dire que utilizó un "response.write" para mostrar cada linea y luego aplico un "loop" para repetir el mismo "response" hasta llegar al final de tabla. ¿Se puede parar el "loop"?

Saludos
  #2 (permalink)  
Antiguo 26/11/2003, 04:55
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 22 años, 1 mes
Puntos: 2
Puedes utilizar la siguiente consulta para obtener las 5 últimas noticias:

SELECT TOP 5 Titulo FROM Noticias ORDER BY Fecha DESC;

El predicado TOP devuelve un cierto número de registros que entran entre al principio o al final de un rango especificado por una cláusula ORDER BY
__________________
¿Por qué Uri Geller doblaba cucharas?
  #3 (permalink)  
Antiguo 26/11/2003, 05:47
 
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 8
Antigüedad: 21 años, 5 meses
Puntos: 0
Muchas gracias
Ha funcionado bien, y no conocía el comando "TOP ".


Pero he tenido un pequeño inconveniente:
Para mostrar la noticia utilizo, a parte del título, otros campos de la tabla, por lo que la sentencia "TOP " no la he aplicado al "TITULO ", como en el ejemplo que me mostrastes, sino al " * " para así mostrar todo el contenido de la tabla. Pero me he encontrado un inconveniente y es que, al parecer, el "TOP " no diferencia los registros repetidos. Me explico: en la BD tengo varios registros con la fecha igual porque he estado haciendo pruebas y al aplicar, por ejemplo " TOP 1 * ", me muestra dos registros que solo tienen igual la fecha. El primer campo de la BD es "ID " y ese no se repite pero al parecer el "TOP" selecciona los registros del "ORDER BY ", que ese si es por la fecha.

¿Es verdad esto?

Normalmente, las noticias o novedades solo se ponen una vez al día, pero por si acaso:

¿Hay alguna otra forma de hacer que se muestren solo X registros exactos de la base de datos?

Saludos a todos y gracias...
  #4 (permalink)  
Antiguo 26/11/2003, 06:30
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 22 años, 1 mes
Puntos: 2
Pues si, tienes razón...
Acabo de leer esto referente al predicado TOP:

La cláusula TOP permite sacar las n primeras filas de la tabla origen. No elige entre valores iguales, si pido los 25 primeros valores pero el que hace 26 es el mismo valor que el 25, entonces devolverá 26 registros en vez de 25 (o los que sea). Siempre se guia por la columna de ordenación, la que aparece en la cláusula ORDER BY o en su defecto la clave principal de la tabla.

Prueba a ver que pasa si haces ORDER BY Fecha DESC, ID y me cuentas... Creo que de esa forma como el id es distinto si que te mostraría solo los 5 primeros registros, yo lo he probado y es así.

Un saludo
Txarly
__________________
¿Por qué Uri Geller doblaba cucharas?
  #5 (permalink)  
Antiguo 26/11/2003, 06:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 8
Antigüedad: 21 años, 5 meses
Puntos: 0
Ahora siii...


Muchas gracias por todos.
Nunca me acostare sin aprender algo nuevo



Saludos
  #6 (permalink)  
Antiguo 26/11/2003, 12:07
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
Prueba a ver que pasa si haces ORDER BY Fecha DESC, ID y me cuentas... Creo que de esa forma como el id es distinto si que te mostraría solo los 5 primeros registros

Ahhh!!!!!! Debería haber leído eso hace añññosssss.


Siempre me pasó lo mismo que a danielm, quería sacar sólo las 5 últimas pero me mostraba las dos del viernes, una del jueves, 5 del miercoles, 3 del martes y las que haya del lunes

Al final lo había resuelto llevando un contador y forzando la salida del loop al llegar a 5, pero esa opción es más eficiente


Por qué te demoraste tanto, txarly?
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 01:52.