MySQL - HAVING limita el número de tuplas a mostrar

 
Vista:

HAVING limita el número de tuplas a mostrar

Publicado por Optigan (2 intervenciones) el 28/08/2018 22:54:42
Hola a todos.

Estoy intentando hacer la siguiente consulta:

1
2
3
4
SELECT nombre_autor, titulo_disco
    FROM autores NATURAL JOIN publican NATURAL JOIN discos
    GROUP BY nombre_autor
    HAVING count(id_disco) > 1;

Mi objetivo es que muestre los nombres de todos los discos de aquellos grupos que aportan más de un disco a la base de datos; es decir, algo así:

1
2
3
4
5
6
7
8
nombre_autor, titulo_disco
grupo1             disco11
grupo1             disco12
grupo1             disco13
grupo2             disco21
grupo2             disco22
grupo3             disco31
grupo3             disco32

Pero sólo me muestra un disco por grupo, tal que así:

1
2
3
4
nombre_autor, titulo_disco
grupo1             disco11
grupo2             disco21
grupo3             disco31

Es posible que la función WINDOW sea lo que necesito, pero no estoy usando la última versión de MySQL; ¿se os ocurre como solucionarlo sin actualizar el software?

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 21
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

HAVING limita el número de tuplas a mostrar

Publicado por Fabricio (7 intervenciones) el 25/09/2018 04:17:10
Hola. Puedes usar una subconsulta que te sirva de contador de discos con join para evitar que la consulta final te agrupe los nombres
No me he puesto a crear tablas de prueba, pero sería algo así: (suponiendo que autores y discos tienen un campo id_autor)

SELECT nombre_autor, titulo_disco
FROM autores NATURAL JOIN publican NATURAL JOIN discos
NATURAL JOIN (SELECT id_autor GROUP BY id_autor HAVING count(id_disco) > 1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar