MySQL - Select varias tablas + suma

   
Vista:

Select varias tablas + suma

Publicado por racingman (3 intervenciones) el 18/10/2012 09:42:31
Buenos días,

Necesito hacer lo siguiente y no consigo hacerlo.

Tengo una base de datos con 2 tablas: Participantes y Tiempos.

En Participantes están todos los que participan y luego en Tiempos voy introduciendo los tiempos de cada una de las vueltas que cada participante cuando llega a meta. En Tiempos hay 4 campos (autonumerico, idparticipante, vuelta, tiempo).

Lo que quiero hacer es que sume todos los tiempos hasta una vuelta X. Por ejemplo, si un participante a dado 15 vueltas sumar todos los tiempos hasta la vuelta 10 por ejemplo.

Es para mostrar el resultado en PHP.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Select varias tablas + suma

Publicado por xve (899 intervenciones) el 18/10/2012 10:53:53
Una pregunta, el campo "tiempo", de que formato es? es time o integer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Select varias tablas + suma

Publicado por racingman (3 intervenciones) el 18/10/2012 11:27:59
Es un campo integer, los tiempos estan en milisegundos y luego ya realizo la transformacion a formato hora para que salga en PHP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Select varias tablas + suma

Publicado por Mariano (1 intervención) el 18/10/2012 11:36:38
No se si te he entendido bien, pero creo que seria algo así:

SELECT SUM(tiempo) as Total
FROM Tiempos
WHERE vuelva<=10

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Select varias tablas + suma

Publicado por racingman (3 intervenciones) el 18/10/2012 14:41:31
Correcto, va bien, muchas gracias.

Lo unico...ahora tengo el problema de que si un participante a dado 4 vueltas y otro solo 2 que los agrupa todos con lo cual es que a dado 2 vueltas sale como primero porque tiene mejor tiempo total que el que a dado 4 vueltas.

Como puedo controlar que solo salgan los que han realizado 4 vueltas?

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Select varias tablas + suma

Publicado por Ignacio Esviza ignacio@esviza.com (6 intervenciones) el 18/10/2012 15:37:12
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
    p.nombre AS nombre_participante,
    SUM( t.tiempo ) AS tiempo,
    AVG( t.tiempo ) AS promedio,
    COUNT( * ) AS vueltas
FROM
    participante p LEFT JOIN
    tiempos t ON p.id = t.idparticipante
GROUP BY
    p.id
HAVING
    vueltas = 4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar