BUenas de nuevo, despues de haber encontrado la solucion a un problema gracias a los del foro ahora se me ha presentado otro problema con la misma consulta sql.
Este es el codigo:
Código PHP:
SELECT news_acciones.action_in, news_acciones.action_nick_id, news_acciones.action_id, news_acciones.action_fecha, usuarios.nick, usuarios.sexo, usuarios.avatar
FROM news_acciones, usuarios
WHERE usuarios.id=news_acciones.action_nick_id && news_acciones.action_nick_id IN($amisql) && news_acciones.action_in='tema musical' OR news_acciones.action_in='dedicatoria' OR news_acciones.action_in='upload-mp3' OR news_acciones.action_in='add-mp3' OR news_acciones.action_in='add-playlist'
GROUP BY news_acciones.action_nick_id
ORDER BY news_acciones.fecha
DESC
El caso es que los resultados están en orden de fecha desde lo mas nuevo hasta lo mas anterior, pero en la sentencia uso la sigla GROUP el cual evita que salgan registros duplicados, el problema es que de los registros duplicados me sale el primero en relacion de la fecha.
Intentando aclarar, del grupo formado (
GROUP) me sale el mas anterior y no asi el mas nuevo como manda el
ORDER BY, pero fuera del grupo (los unicos registros que salen) si salen como ordena el ORDER BY. no se si me explico bien
ejemplo:
tengo:
ID | nombre
1 | pepito
2 | juanito
3 | juanito
4 | julanito
Con el
ORDER BY id DESC me sale:
4 | julanito
3 | juanito
2 | juanito
1 | pepito
Hasta ahi bien el orden... Pero si agrego
GROUP para eliminar registros duplicados me sale:
4 | julanito
2 | juanito
1 | pepito
que me sale el
juanito del ID 2 y no asi el del ID 3 que se espera con la sentencia
ORDER BY
Que me sugieren?
saludos.