Hola amigos, estoy intentando hacer una consulta anidada que me devuelva las 5 noticias com más comentarios, tengo dos tablas una con noticias y otra con comentarios, ahora os explico lo que he hecho:
Cuando lanzo la siguiente consulta:
"SELECT id FROM comentarios GROUP BY id ORDER BY count( * ) DESC"
me devuelve por ejemplo :
5
7
1
2
donde cada número es un id de una noticia, devuelve los id de forma ordenda de mayor a menor según la cantidad de comentarios que tenga cada noticia. Hasta aquí bien pero si ahora hago la consutla:
"SELECT id FROM noticias WHERE id IN (SELECT id FROM comentarios GROUP BY id ORDER BY count( * ) DESC) Limit 0,5". Esta consulta devuelve las noticias:
1
2
5
7
Ahora os pregunto, ¿por qué la consulta anidada no me devuelve las noticias ordenadas por la primera consulta? Es decir,
5, 7, 1, 2 en vez de 1,2,5,7
Espero que entendais lo que aquí os expongo. Si tenéis alguna idea os agradecería que me lo comentarais
gracias.