Estoy reformulando un sistema de rating que hacia demasiadas consultas a base de datos (una por cada item a valorar, mas inserts y updates varios en cada click).
La cuestion es si esto me asegura que estoy valuando y revaluando bien un item:
Código MySQL:
Ver original"INSERT INTO puntuaciones (puntuaciones, promedio, id_foto) VALUES ('1', '3.5', '3')
ON DUPLICATE KEY UPDATE puntuaciones = puntuaciones+1, promedio = (promedio+3.5)/2 "
La consulta ON DUPLICATE KEY les parece buena? Creo que funciona ok...
La logica de un promedio es sumar los puntajes, y restarlos por el numero de puntajes. En este caso, sumo el total existente al nuevo puntaje y lo divido por dos. Esa manera de evaluar un promedio "al vuelo" esta bien matematicamente?