Respuesta: Top 5 Comentarios de Usuarios Mysql y PHP Mira, voy a hacerte un ejemplo con los datos mas o menos como los propones tu, y veremos si realmente "falla" como dices.
Primero creamos las tablas y las cargamos:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) -> ); Query OK, 0 rows affected (0.03 sec) mysql> -> ); Query OK, 0 rows affected (0.02 sec) mysql> -> ('pedro', 'xx'), -> ('maria', 'xx'), -> ('luisa', 'xx'), -> ('jose', 'xx'); Query OK, 5 rows affected (0.01 sec) mysql> mysql > INSERT INTO comentarios (texto , author_nombre ) -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('aaaa', 'Juan'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('bbbb', 'pedro'), -> ('cccc', 'maria'), -> ('cccc', 'maria'), -> ('cccc', 'maria'), -> ('cccc', 'maria'), -> ('cccc', 'maria'), -> ('cccc', 'maria'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('dddd', 'luisa'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'), -> ('eeee', 'jose'); Query OK, 80 rows affected (0.00 sec)
Luego hacemos uso de la query tal como te la propuse:
Código MySQL:
Ver original -> U.nombre , COUNT(texto ) CommentCount -> usuarios U -> comentarios C ON U.nombre = C.author_nombre +--------+--------------+ | nombre | CommentCount | +--------+--------------+ | jose | 28 | | luisa | 20 | | Juan | 17 | | pedro | 9 | | maria | 6 | +--------+--------------+
Y... no, no falla. Devuelve los cinco, en orden descendente de cantidad de comentarios.
Incluso más. Si quiero buscar el top 3, sería:
Código MySQL:
Ver original -> U.nombre , COUNT(texto ) CommentCount -> usuarios U -> comentarios C ON U.nombre = C.author_nombre +--------+--------------+ | nombre | CommentCount | +--------+--------------+ | jose | 28 | | luisa | 20 | | Juan | 17 | +--------+--------------+
Y devuelve exactamente los mismos tres.
Así que, ¿cuál es el problema que le ves?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |