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

Limitar resultados de una tabla

Estas en el tema de Limitar resultados de una tabla en el foro de Mysql en Foros del Web. Tengo esta tabla Código PHP: tabla ( id integer not null primary key ,  valor integer )  Código PHP: id ,  valor 1 ,  2 1 ,  3 1 ,  6 ...
  #1 (permalink)  
Antiguo 19/04/2009, 19:32
 
Fecha de Ingreso: marzo-2006
Mensajes: 41
Antigüedad: 18 años, 1 mes
Puntos: 0
Limitar resultados de una tabla

Tengo esta tabla

Código PHP:
tabla(
id integer not null primary key
valor integer


Código PHP:
idvalor

1
2
1
3
1
6
1
7
2
1
2
2
2
3
4
5
4

Lo que necesito es limitar la cantidad de filas por la primer columna (id) es decir, si quiero limitar id a 2, esto deberia conseguir:

Código PHP:
idvalor

1
2
1
3
2
1
2
2
4
5
4

Como se puede ver, obtengo 2 filas por cada id distinto. Se puede pensar como que descarto las demas filas.

Se entiende lo que quiero hacer?
Alguna solución, pista, sugerencia?

Gracias!
  #2 (permalink)  
Antiguo 20/04/2009, 01:09
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Limitar resultados de una tabla

No sé si te he entendido, pero si haces un campo primary key, no podrás repetir el número. No sé exactamente para qué quieres hacer eso, pero te diré que una tabla con id, valor1, valor2
te lo permitiría (aunque no te lo recomiendo), pero lo ideal sería quizás crear otra tabla en que el id fuera foreign key de esta primera tabla y controlar mediante trigger o programación que haya sólo dos de cada id como máximo.

tabla1
id_tabla1 int, auto_increment, primary key

tabla2
id_tabla2, int, auto_increment, primary key refid_tabla1 int foreign key, valor

Pero explícanos qué tipo de datos tendrás y qué quieres hacer con ellos, y tal vez podamos orientarte mejor.

Última edición por jurena; 20/04/2009 a las 01:20
  #3 (permalink)  
Antiguo 20/04/2009, 12:59
 
Fecha de Ingreso: marzo-2006
Mensajes: 41
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Limitar resultados de una tabla

Hola, gracias por responder.

No puedo colocar restricciones de ese tipo.
Lo que ves es la tabla, tal y como ahora está en la base de datos.
Basicamente lo que estoy buscando es una selección que restrinja por ID (fijate que es una restricción variable, puedo querer mostrar N filas con el mismo ID, por lo que trabajar con indices unicos o pk no es la respuesta lamentablemente).
Es para un reporte.
  #4 (permalink)  
Antiguo 21/04/2009, 00:55
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Limitar resultados de una tabla

CID@Devs,

perdona, pero no te entendí bien. Ahora creo haberte entendido y te hago una pregunta. ¿Sólo puedes usar una consulta de la base de datos o puedes utilizar algo de programación? Con programación será fácil (PHP, ASP, Visual NET, etc.).
La otra opción, la de base de datos es más complicada, creo, y se basaría en la propuesta parecida a la de una consulta de gnzsoloyo en este post
http://www.forosdelweb.com/f86/conta...etidas-686152/
No la he probado, pero creo que funcionará. Sólo tendrías que cerrarla entre paréntesis, poner un alias y luego hacer un select de campos que quieras from (aquí la consulta) WHERE variablenumlinea > 2 ORDER BY campo, variablenumlinea

Es una hipótesis solamente, pues no he probado la consulta. Sin embargo te diré que esta es una de esas cosas que se hacen fácilmente con programación.

Última edición por jurena; 21/04/2009 a las 01:04
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:18.