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

Al menos 50% de un tipo de N

Estas en el tema de Al menos 50% de un tipo de N en el foro de Mysql en Foros del Web. HOLA GENTE Tengo una base de datos de digamos coches de dos tipos de 2 puertas y 4 puertas. Como puedo hacer para mostrar al ...
  #1 (permalink)  
Antiguo 27/01/2011, 15:28
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Pregunta Al menos 50% de un tipo de N

HOLA GENTE

Tengo una base de datos de digamos coches de dos tipos de 2 puertas y 4 puertas.

Como puedo hacer para mostrar al menos un 50% de los de 2 puertas una consulta ?

El tema es que los resultados estan paginados.... asi que.. no puedo por ejemplo repetir el mismo carro entre diferentes paginas.

A ver si algun craneo me puede ayudar
__________________
Salu2!
  #2 (permalink)  
Antiguo 27/01/2011, 15:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Al menos 50% de un tipo de N

Todo se puede... el tema es cómo saber cuántas puertas tiene, y además saber si no son demasiados para cada página.
Postea la estructura de la tabla y veamos cómo se redacta la sentencia de la consulta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/01/2011, 15:42
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: Al menos 50% de un tipo de N

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Todo se puede... el tema es cómo saber cuántas puertas tiene, y además saber si no son demasiados para cada página.
Postea la estructura de la tabla y veamos cómo se redacta la sentencia de la consulta.
Cita:
CREATE TABLE `carros`.`main` (
`id` INT NOT NULL AUTO_INCREMENT ,
`puertas` INT NOT NULL DEFAULT '4',
`modelo` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
Cita:
INSERT INTO `main` (`id`, `puertas`, `modelo`) VALUES
(1, 4, 'ADDD4'),
(2, 4, 'FFF4'),
(3, 2, 'GGGGRR2'),
(4, 2, 'FFFFF2'),
(5, 4, 'DFFDDFFDDF4'),
(6, 2, 'RGGGG2'),
(7, 2, 'EFDFFFFF2'),
(8, 4, 'EFF4'),
(9, 4, 'DFDFDFDFDF4'),
(10, 4, 'DFFFFG4'),
(11, 2, 'GDGDDGDG2'),
(12, 4, 'FFFFFFF4'),
(13, 2, 'GGRERER2'),
(14, 2, 'EHTHJHJ2');
SUPONGAMOS que quiero que se muestren 5 carros por pagina y MINIMO 50% de dos (2) puertas......o sea 3 carros de 2 puertas por pagina mientras sea posible

muchas GRACIAS!
__________________
Salu2!
  #4 (permalink)  
Antiguo 27/01/2011, 22:48
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: Al menos 50% de un tipo de N

Se hacia con UNION :)


SELECT campo,campo
FROM `tabla`
WHERE condicion1 LIMIT limite1
UNION (SELECT campo,campo
FROM `tabla`
WHERE condicion2 LIMIT limite2)


donde limite1+limite2 = limite

EL TEMA ahora......... es que: 1) necesito ordenar por un mismo criterio (la union) y 2) que no me funciona el paginado!!!!!!!!
__________________
Salu2!

Última edición por Italico76; 27/01/2011 a las 23:23
  #5 (permalink)  
Antiguo 29/01/2011, 10:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Al menos 50% de un tipo de N

italico76,
yo estas cosas las haría con programación, no obstante, si se trata de un 50 % siempre, puedes hacer algo con consultas a la base. En nuestra faq hay un ejemplo de gnzsoloyo sobre cómo numerar consecutivamente los resultados de una consulta. Pues bien, él numera empezando desde 1 y añadiendo 1. Yo haría dos consultas, una para los de dos puertas, y numeraría empezando desde 1 y añadiendo 2, es decir, los haría impares; en la otra consulta, en la de 4 puertas, empezaría desde 2 y añadiría 2. Luego las uniría mediante UNION ALL y ordenaría por ese número y me encontraría uno de dos puertas, otro de cuatro y así sucesivamente. Sobre esa consulta de UNION puedes aplicar luego el limit como quieras.

Última edición por jurena; 31/01/2011 a las 01:37
  #6 (permalink)  
Antiguo 29/01/2011, 16:16
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: Al menos 50% de un tipo de N

AMIGO JURENA: tu solucion me parece MUY BUENA

Voy a probarla.....muchas gracias!
__________________
Salu2!

Etiquetas: menos, tipo
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:08.