Artista
id Nombre
1 Juan
2 Pepe
...
Cancion
id Titulo artista
1 Titulo1 2
2 Titulo2 1
...
Como sería la query para sacar las 2 primeras canciones de cada artista?Alguien lo sabe? gracias.
| |||
Respuesta: sacar dos canciones de cada artista.. Hola Isidro: Puedes simular una función ROW_NUMBER para enumerar las canciones para cada usuario y después filtrar sólo los primeros dos registros. Checa esta liga http://forums.mysql.com/read.php?32,...665#msg-225665 Si tienes problemas para implementar la consulta publica lo que que intentaste hacer para tratar de ayudarte a afinarla. Saludos Leo. |
| ||||
Respuesta: sacar dos canciones de cada artista.. No con una consulta simple...
__________________ ¿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: sacar dos canciones de cada artista.. Cita: Hola de nuevo:¿Leiste la liga que te puse?... intentaste por lo menos hacer lo que ahí se expone??? te pedí que si tenías problemas para formular la consulta postearas lo que intentaste hacer, pero no lo hiciste... tal pareciera que estás esperando que lo hagamos por tí... Mucho ojo con eso. Checa este script:
Código MySQL:
Ver original observa, el artista 1 tiene 4 canciones el artista 2 sólo tiene 2, y el artista 3 tiene 3. se creo una nueva columna indice la cual te enumera las canciones... LO UNICO QUE TIENES QUE HACER ES FILTRAR ESTA CONSULTA, para traer solo aquellos registros con indice 1 y 2... ¿Es muy difícil pedir que lo intentes? como indice es una columna calculada NO SE PUEDE UTILIZAR EN EL WHERE, pero puedes meter todo como una subconsulta.
Código:
para traer el nombre del artista, no su id simplemente haces un INNER JOIN con la tabla artistas.Select * from (aqui pones la consulta) T where (aqui pones la condición para filtrar) INTÉNTALO por favor... Saludos Leo. |
| ||||
Respuesta: sacar dos canciones de cada artista.. gracias leonardo_josue por las molestias q te has tomado pero he probado la select esa que has puesto ahí con mi nombre de tablas y campos y me da error: SELECT T1.fk_artista, T1.titulo, FIND_IN_SET( T1.titulo, ( SELECT GROUP_CONCAT( titulo ORDER BY id ) FROM video T2 WHERE T2.fk_artista = T1.fk_artista ) ) AS indice FROM video T1 El caso que phpmyadmin me dice esto: Mostrando registros 0 - 392 (393 total, La consulta tardó 0.0269 seg) pero no llega a mostrar ningun registro y luego da el error: consulta SQL: Editar SHOW KEYS FROM MySQL ha dicho: Documentación #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 |
Etiquetas: |