Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Como puedo seleccionar los 3 registros mas grandes

Estas en el tema de Como puedo seleccionar los 3 registros mas grandes en el foro de Bases de Datos General en Foros del Web. Buenas, tengo una tabla de tickets, donde se sabe el articulo, la familia a la q pertenece este articulo y la hora de venta. Me ...
  #1 (permalink)  
Antiguo 16/02/2005, 06:25
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 4 meses
Puntos: 10
Pregunta Como puedo seleccionar los 3 registros mas grandes

Buenas,

tengo una tabla de tickets, donde se sabe el articulo, la familia a la q pertenece este articulo y la hora de venta. Me gustaria saber como puedo hacer la consulta para q me muestre los 3 ultimos tickets q se han vendido de cada articulo, es decir, el ususario debe escojer una familia y apartir de esta tengo q mostrar el antepenultimo, penultimo y ultimo ticket q se ha sacado de cada articulo!

Alguna idea?

Gracias por su atención.
  #2 (permalink)  
Antiguo 16/02/2005, 07:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 24
Antigüedad: 19 años, 3 meses
Puntos: 0
Si es oracle o parecido (retornando los ultimos tres insertados, sino ordena por otro campo):

SELECT * FROM (SELECT * FROM mi_tabla ORDER BY ROWNUM DESC)
WHERE ROWNUM <= 3
  #3 (permalink)  
Antiguo 16/02/2005, 07:45
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Si tienes la fecha y hora de venta: (para mysql)
Código:
select * 
from tabla
order by fecha desc
limit 0,3
Un saludo.
__________________
Estoy contagiado de Generación-I
  #4 (permalink)  
Antiguo 16/02/2005, 09:28
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 4 meses
Puntos: 10
la cosa va por aqui pero no me acaba de salir bien.
La consulta corre sobre mysql desde php.

SELECT ltickets.articulo,ltickets.nombre,ltickets.subfam, tickets.horafin
FROM tickets, ltickets
WHERE tickets.numero = ltickets.numero
AND tickets.tienda=".$id_tenda." AND tickets.fecha='".$data."'
AND ltickets.subfam=".$subfamilia;

la consulta coge los campos de articulo,familia,fecha,hora
articulo familia fecha hora
1 --> frescos --> 29/09/2005--> 7:00
2 --> frescos --> 29/09/2005--> 7:00
1 --> frescos --> 29/09/2005--> 8:00
2 --> frescos --> 29/09/2005--> 8:00
1 --> frescos --> 29/09/2005--> 9:00
2 --> frescos --> 29/09/2005--> 9:00
1 --> frescos --> 29/09/2005--> 10:00
2 --> frescos --> 29/09/2005--> 10:00
1 --> frescos --> 29/09/2005--> 11:00
2 --> frescos --> 29/09/2005--> 11:00
1 --> frescos --> 29/09/2005--> 12:00
2 --> frescos --> 29/09/2005--> 12:00
el usuario entra la fecha y la familia

El resultado de la consulta me tendria q mostrar los tres registros q se han vendido:
1 --> frescos --> 29/09/2005--> 10:00
2 --> frescos --> 29/09/2005--> 10:00
1 --> frescos --> 29/09/2005--> 11:00
2 --> frescos --> 29/09/2005--> 11:00
1 --> frescos --> 29/09/2005--> 12:00
2 --> frescos --> 29/09/2005--> 12:00


Espero haberme explicado correctamente,
  #5 (permalink)  
Antiguo 16/02/2005, 09:40
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 4 meses
Puntos: 10
en caso de haber mas articulos de la misma familia me tendria q mostrar sus ultimos tres registros!
Gracias de antemano!
  #6 (permalink)  
Antiguo 17/02/2005, 01:21
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 4 meses
Puntos: 10
Alguna Idea?
  #7 (permalink)  
Antiguo 17/02/2005, 04:23
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Tal como lo pides no lo puedes hacer en una simple consulta, tienes que buscarte la vida y programarlo.
El limit es global, para el total de registros que devuelve la consulta. En todo caso podrías hacer una consulta para cada familia que te diera los tres últimos de cada uno.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #8 (permalink)  
Antiguo 17/02/2005, 05:10
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 4 meses
Puntos: 10
y con una subconsulta no es posbile?
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 11:19.