Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Doble acumulado

Estas en el tema de Doble acumulado en el foro de Mysql en Foros del Web. Hola a todos, Quiero obtener de una tabla las etiquetas puestas y las retiradas por cada usuario (realizado con éxito), el problema viene cuando quiero ...
  #1 (permalink)  
Antiguo 22/01/2014, 11:29
 
Fecha de Ingreso: marzo-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Doble acumulado

Hola a todos,

Quiero obtener de una tabla las etiquetas puestas y las retiradas por cada usuario (realizado con éxito), el problema viene cuando quiero hacer un acumulado de las etiquetas que se están poniendo, con lo cual la query siguiente no está bien, ¿qué debo hacer?



Código MySQL:
Ver original
  1. SET @Acumulado=0;
  2.         CONCAT(U.Nombre,' ',U.PrimerApellido) Persona,
  3.         SUM(IF(E.id_Usuario_coloca=U.id_Usuario, 1, 0)) Puestas,
  4.        @Acumulado:=SUM(1)+@Acumulado 'Acumulado puestas',
  5.         SUM(IF(E.id_Usuario_retira=U.id_Usuario, 1, 0)) Retiradas,
  6.         SUM(IF(U.id_Usuario = E.id_Usuario_coloca AND U.id_Usuario = E.id_Usuario_retira, 2, 1)) Total
  7.     FROM etiquetas E
  8.     LEFT JOIN Usuarios U ON U.id_Usuario=E.id_Usuario_coloca or U.id_Usuario=E.id_Usuario_retira
  9.     LEFT JOIN nivel4 N4 ON E.id_N4 = N4.id_N4
  10.     LEFT JOIN nivel3 N3 ON N4.id_N3=N3.id_N3 OR E.Id_N3=N3.id_N3
  11.     LEFT JOIN nivel2 N2 ON N3.id_N2=N2.id_N2 OR E.Id_N2=N2.id_N2
  12.     LEFT JOIN nivel1 N1 ON N2.id_N1=N1.id_N1 OR E.Id_N1=N1.id_N1
  13.     WHERE E.Fecha_registro IS NOT NULL
  14.     GROUP BY Persona
  15.     ORDER BY Total DESC

Además necesito que el orden de salida sea:
Total DESC --> el acumulado se vaya creando a partir de este orden

Etiquetas: Ninguno
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 16:50.