Ver Mensaje Individual
  #18 (permalink)  
Antiguo 06/01/2012, 14:48
diegohugogallego
 
Fecha de Ingreso: septiembre-2011
Ubicación: España
Mensajes: 118
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: agrupar por campos y ordenar

pues no entiendo la verda en que fallo, por que ya haciendo parte de la consulta como propones a mi me da un resultado distinto



Código MySQL:
Ver original
  1. SET @num = 0;
  2.      
  3.                    
  4.             SELECT MAX(fecha) fecha, usuario, comentarista,
  5.      @num := @num + 1 AS row_number
  6.      FROM comentarios_comuns
  7.     WHERE usuario = 'fran'
  8.      GROUP BY usuario, comentarista
  9.     ORDER BY fecha DESC



Código PHP:
Ver original
  1. fecha   usuario     comentarista    row_number
  2. 2012    fran    laura               1
  3. 2011    fran    angel               3    <---------  me sale en distinto lugar que a ti
  4. 2000    fran    helen               2




bueno te remito tambien la consulta total por si le quieres hechar un vistazo, pero yo pienso q esta todo en orden




Código SQL:
Ver original
  1. SET @num = 0;
  2.      
  3.                    
  4. SELECT T2.usuario, T2.comentarista, T2.fecha FROM (
  5.      
  6.      SELECT MAX(fecha) fecha, usuario, comentarista,
  7.      @num := @num + 1 AS ROW_NUMBER
  8.      FROM comentarios_comuns
  9.      WHERE usuario = 'fran'
  10.      GROUP BY usuario, comentarista
  11.     ORDER BY fecha DESC)
  12.    
  13.     T1 INNER JOIN(
  14.    
  15.     SELECT usuario, o.comentarista, o.fecha,
  16.      FIND_IN_SET( o.fecha ,
  17.      ( SELECT GROUP_CONCAT(fecha ORDER BY fecha DESC)
  18.      FROM comentarios_comuns i
  19.     WHERE i.comentarista = o.comentarista AND i.usuario = o.usuario)
  20.      ) AS row_number_2 FROM comentarios_comuns o
  21.      WHERE usuario = 'fran'
  22.      ORDER BY comentarista, row_number_2)
  23.      
  24.     T2
  25.     ON T1.usuario = T2.usuario AND T1.comentarista = T2.comentarista
  26.      ORDER BY T1.ROW_NUMBER, T2.row_number_2

Última edición por diegohugogallego; 06/01/2012 a las 14:55