Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2015, 06:42
sdavila21
 
Fecha de Ingreso: febrero-2011
Mensajes: 67
Antigüedad: 13 años, 9 meses
Puntos: 0
Consulta para un ranking

Hola buenas,
llevo 3 días intentando sacar una consulta y no doy con la tecla, me explico :

Tengo dos tablas : usuarios y mensajes

usuarios tiene estos campos : iduser,usuario,password,nombre,apellidos
mensajes tienes : idmensaje,fechahora,emisor(id numero de usuario),receptor(id numero de usuario),texto

Lo que yo necesito es sacar los usuarios con mas mensajes y tener una columna con la posición del ranking. Es decir yo tengo Usuario A (2 mensajes),Usuario B(1) y Usuario C (3).

Necesito hacer una consulta que me muestre algo como esto:

1 - Usuario C - 3 Mensajes
2 - Usuario A - 2 Mensajes
3 - Usuario B - 1 Mensaje

Tengo esta consulta :
[
Código MySQL:
Ver original
  1. select  @curRank := @curRank + 1 AS rank,u.usuario,count(emisor) as cantidad from (SELECT @curRank := 0) r,mensaje
  2. inner join usuario u on mensaje.emisor=u.iduser
  3. group by emisor ORDER BY cantidad DESC;

Pero lo que me duelve es:

3 - Usuario C - 3
1 - Usuario A - 2
2 - Usuario B - 1

La primera columna realmente es el id del usuario de la tabla usuario pero no es el del ranking.

Espero haberme explicado y que alguien pueda ayudarme.

Un saludo y gracias