Foros del Web » Programando para Internet » PHP »

Ordenar por numero de registros que coincidan en otra tabla

Estas en el tema de Ordenar por numero de registros que coincidan en otra tabla en el foro de PHP en Foros del Web. Hola estoy intentando ordenar los usuarios por comentarios escritos, tengo las siguientes tablas usuarios con su id, nombre de usuario etc... y comentarios con su ...
  #1 (permalink)  
Antiguo 31/07/2011, 12:19
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 15 años, 11 meses
Puntos: 2
Pregunta Ordenar por numero de registros que coincidan en otra tabla

Hola estoy intentando ordenar los usuarios por comentarios escritos, tengo las siguientes tablas

usuarios con su id, nombre de usuario etc...

y comentarios con su id, id del usuario, comentario etc...

Mi codigo es el siguiente:

SELECT * FROM usuarios INNER JOIN comentarios ON usuarios.id=comentarios.usid GROUP BY usuarios.id order by count(usuarios.id)

Pero no consigo lo que quiero, si alguien pudiera echarme una mano

Saludos cordiales
  #2 (permalink)  
Antiguo 31/07/2011, 12:52
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Ordenar por numero de registros que coincidan en otra tabla

tendrias que usar GROUP BY

SELECT count(*) as cantidad
FROM usuarios INNER JOIN comentarios
ON usuarios.id=comentarios.usid
GROUP BY omentarios.usid
ORDER BY cantidad ASC

probalo asi o mejoralo, sino ya le encotraremos una solucion
  #3 (permalink)  
Antiguo 31/07/2011, 15:42
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: Ordenar por numero de registros que coincidan en otra tabla

Estoy probando la cuonsulta pero no se si va por que me hacen falta los demas valores de la tabla usuarios o por lo menos algunos para estar seguro que los ordena bien.

E probado lo siguiente:

SELECT id, count(*) as cantidad
FROM usuarios INNER JOIN comentarios
ON usuarios.id=comentarios.usid
GROUP BY omentarios.usid
ORDER BY cantidad ASC

y

SELECT * FROM usuarios INNER JOIN comentarios
ON usuarios.id=comentarios.usid
GROUP BY omentarios.usid
ORDER BY count(*) ASC

La primera me da error y la segunda es muy parecida a la que hacia al principio pero no funciona

Saludos

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:53.