Hola, tengo una tabla con registros que tienen un campo tipo, y quisiera hacer una consulta que me muestre los 5 primeros registros de cada tipo, esto se puede hacer¿?
espero contestación, muchas gracias de antemano.
| |||
Ayuda, seleccionar sólo 5 datos BD Hola, tengo una tabla con registros que tienen un campo tipo, y quisiera hacer una consulta que me muestre los 5 primeros registros de cada tipo, esto se puede hacer¿? espero contestación, muchas gracias de antemano. |
| ||||
Respuesta: Ayuda, seleccionar sólo 5 datos BD Genial. Para mostrar los 5 primeros registros simplemente terminas la sentencia con un LIMIT 5, pero si no nos posteas la estructura, o nos explicas claramente a qué te refieres con "tipos", no podremos ayudarte mucho. La estructura nos guiaría mejor para saber si hay que hacer subconsultas, o comparaciones y/o agrupamientos. Tu descripción no aclara cómo es que distingues los "tipos" y tampoco a qué le llamas "tipos". Explicate un poco mejor...
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: Ayuda, seleccionar sólo 5 datos BD voy de nuevo y perdón por la ambiguedad... tengo registros en una tabla que contienen un campo tipo (con valores como 1, 2, 3, 4 , 5...) lo que necesito es hacer una consulta a esa tabla y coger sólo los 5 primeros registros de cada tipo. Es decir si la tabla contiene: ID- NOMBRE- TIPO 1 - pedro - 2 2 - juan -2 3 - angel - 1 4 - luis - 1 5 - pablo - 4 6 - miguel - 3 7 - sonia - 2 8 - amparo - 2 9 - raúl - 2 etc, etc tendría que mostrarme los 5 primeros registros del tipo 1 (angel, luis...y los que hubiese más adelante hasta 5) los 5 primeros registros del tipo 2 (pedro, juan, sonia, amparo y raúl) los 5 primeros registros del tipo 3 (miguel... y los qe hubiese más adelante) los 5 primeros registros del tipo 4 (pablo.... y los que hubiese más adelante) y así sucesivamente con todos los tipos, resumiendo, mostrar los 5 primeros registros de cada tipo. Espero haberme explicado, ya no sé que más poneros... ah y mil gracias |
| |||
Respuesta: Ayuda, seleccionar sólo 5 datos BD Cita:
Iniciado por indicape voy de nuevo y perdón por la ambiguedad... tengo registros en una tabla que contienen un campo tipo (con valores como 1, 2, 3, 4 , 5...) lo que necesito es hacer una consulta a esa tabla y coger sólo los 5 primeros registros de cada tipo. Es decir si la tabla contiene: ID- NOMBRE- TIPO 1 - pedro - 2 2 - juan -2 3 - angel - 1 4 - luis - 1 5 - pablo - 4 6 - miguel - 3 7 - sonia - 2 8 - amparo - 2 9 - raúl - 2 etc, etc tendría que mostrarme los 5 primeros registros del tipo 1 (angel, luis...y los que hubiese más adelante hasta 5) los 5 primeros registros del tipo 2 (pedro, juan, sonia, amparo y raúl) los 5 primeros registros del tipo 3 (miguel... y los qe hubiese más adelante) los 5 primeros registros del tipo 4 (pablo.... y los que hubiese más adelante) y así sucesivamente con todos los tipos, resumiendo, mostrar los 5 primeros registros de cada tipo. Espero haberme explicado, ya no sé que más poneros... ah y mil gracias ayuuuuuda please!!!!! |
| ||||
Respuesta: Ayuda, seleccionar sólo 5 datos BD Así de buenas a primeras se me ocurre. Código PHP:
__________________ Juego de navegador online |
| ||||
Respuesta: Ayuda, seleccionar sólo 5 datos BD Mira, el problema que tienes viene por dos partes: Por un lado, no sabes, o al menos se supone que no sabes, cuántos tipos hay inicialmente en esta relación, por lo que la consulta debe ser dinámica (establecerse para un resultado variable de tipos). Por otro lado, lo que tu quieres no es el tipo, sino la lista de los 5 primeros de cada tipo, con lo que un simple LIMIT sobre un resultado agrupado y con HAVING COUNT(*)=5 no sirve. Existe una solución que se me ocurre, pero es un poco complicada, ya que requiere tres niveles de subconsultas, y el uso de variables de usuario: Uno para crear las variables, el otro para hacer la cuenta de los tipos, y el restante (exterior) para obtener el resultado. La idea sería mas o menos así:
Código MySQL:
Ver original Este esquema, como está,devolvería los cinco primeros, haya o no cinco de cada tipo (ya o probé con una de mis tablas y funciona). SI lo que quieres es una cantidad específica (sólo los que tienen cinco o más tipos), la subconsulta de segundo nivel debe ser reformulada.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: Ayuda, seleccionar sólo 5 datos BD con las molestias que os habéis tomado y yo (cenutrio) no soy capaz de hacerlo funcionar. me he creado otra tabla con los tipos por si se pudiese mejorar. en la tabla tipos tengo guardados los tipos de articulos que hay. y en la tabla principal todos los artículos. la tabla principal tiene un campo idtipo, que está unido a la tabla tipos por el mismo campo. lo que quiero es mostrar los 5 primero artículos de cada tipo... y me estoy volviendo loco. lo siento, ser tan peñazo, pero no se ya por donde pillarlo. el código que me habéis pasado antes, lo veo muy claro pero al ponerlo en mi php, no hace nada. gracias de todas formas por vuestra aportación, es muy reconfortante recibir vuestra ayuda. un saludo |
Etiquetas: |