Comunidad de diseño web y desarrollo en internet online

Agrupaciones y sumas de resultados

Citar            
MensajeEscrito el 25 Mar 2012 06:10 pm
Hola estoy preparando un sistema de votaciones para un concurso de fotos y tengo un problema a la hora de sumar los botos.
Estoy permitiendo que cada usuario vote todos los días tantas veces como quiera, guardo el usuario que vota, a que foto y que día.
Mi problema es si quiero que cuente sólo un voto por persona y día.
La sentencia que estoy usando es:

SELECT id, usuario, foto, fecha, COUNT(id) GROUP BY foto ORDER BY COUNT(id) DESC

De esta forma consigo el listado de todas las fotos con los votos que tiene cada una. Pero lo que me gustaría es que me sumara sólo un voto por día y por usuario en cada foto.

¿Alguien me puede ayudar?
Un millón de gracias

Por yomiento

0 de clabLevel



 

safari
Citar            
MensajeEscrito el 25 Mar 2012 07:52 pm

Código :

select distict concat(trim(usuario), "__", trim(foto), "__". trim(fecha)) from nombre_de_tu_tabla


o sino:

Código :

select count(*) from (
    SELECT usuario, foto, fecha from nombre_de_tu_tabla
    group by usuario, foto, fecha
) x


(creo que el primero se ejecuta más rápido, compara cuanto tiempo tarda cada uno de todas formas)

Por hersonHN

Claber

272 de clabLevel

3 tutoriales

Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.