tabla resultados
-id
-carrera
-puntos
-corredor
-posicion
tabla corredores
-id
-corredor
tabla carreras
-id
-carrera
-fecha
Bien, la tabla carreras y corredores son faciles, guarda los corredores y carreras con sus fechas, en la tabla resultados guardo relacion con las tablas corredores y carreras y ademas guardo los puntos de ese corredor en esa carrera en concreto.
Por ejemplo, tabla resultados (una muestra de lo que tengo en la bd):
Código MySQL:
Dados esos datos, quiero hacer una consulta que me devuelva todos los registros (los JOIN ya los se hacer) pero que me devuelva un campo puntos, en el que me sume los puntos por corredor, tengo esta consulta ya hecho (como vereis, la bd es mas extensa, pero no influye en lo que quiero hacer)Ver original
+-----------+-----------+---------------+--------------+-----------------+ | result_id | result_gp | result_points | result_rider | result_position | +-----------+-----------+---------------+--------------+-----------------+ | 1 | 1 | 25 | 32 | 1 | | 2 | 1 | 20 | 20 | 2 | | 3 | 1 | 16 | 31 | 3 | | 4 | 1 | 13 | 14 | 4 | | 5 | 1 | 11 | 16 | 5 | | 6 | 1 | 10 | 11 | 6 | | 7 | 1 | 9 | 1 | 7 | | 8 | 1 | 8 | 26 | 8 | | 9 | 1 | 7 | 15 | 9 | | 10 | 1 | 6 | 7 | 10 | | 11 | 1 | 5 | 18 | 11 | | 12 | 1 | 4 | 8 | 12 | | 13 | 1 | 3 | 5 | 13 | | 14 | 1 | 2 | 25 | 14 | | 15 | 1 | 1 | 4 | 15 | | 16 | 1 | 0 | 28 | 16 | | 17 | 1 | 0 | 27 | 17 | | 18 | 1 | 0 | 23 | 18 | | 19 | 1 | 0 | 2 | 19 | | 20 | 1 | 0 | 6 | 20 | | 21 | 1 | 0 | 3 | 21 | | 22 | 1 | 0 | 17 | 22 | | 23 | 1 | 0 | 24 | 23 | | 24 | 1 | 0 | 10 | 24 | | 25 | 2 | 25 | 31 | 1 | | 26 | 2 | 20 | 14 | 2 | | 27 | 2 | 16 | 32 | 3 | | 28 | 2 | 13 | 16 | 4 | | 29 | 2 | 11 | 3 | 5 | | 30 | 2 | 10 | 20 | 6 | | 31 | 2 | 9 | 1 | 7 | | 32 | 2 | 8 | 11 | 8 | | 33 | 2 | 7 | 26 | 9 | | 34 | 2 | 6 | 15 | 10 | | 35 | 2 | 5 | 18 | 11 | | 36 | 2 | 4 | 17 | 12 | | 37 | 2 | 3 | 7 | 13 | | 38 | 2 | 2 | 8 | 14 | | 39 | 2 | 1 | 25 | 15 | | 40 | 2 | 0 | 27 | 16 | | 41 | 2 | 0 | 4 | 17 | | 42 | 2 | 0 | 5 | 18 | | 43 | 2 | 0 | 28 | 19 | | 44 | 2 | 0 | 24 | 20 | | 45 | 2 | 0 | 30 | 21 | | 46 | 2 | 0 | 6 | 22 | | 47 | 2 | 0 | 23 | 23 | | 48 | 2 | 0 | 2 | 24 | | 49 | 3 | 25 | 14 | 1 | | 50 | 3 | 20 | 31 | 2 | +-----------+-----------+---------------+--------------+-----------------+
Código MySQL:
Si uso el SUM(tbl_result.result_points) me devuelve un unico resistro, el que corresponde al id = 1 con la suma de TODOS los puntos de todas las carreras y todos los corredores, lo que quiero es que me devuelva por separado por corredor y carrera, espero que se entienda....Ver original
SELECT tbl_result.result_points, tbl_rider.rider_name, tbl_gp.gp_name, tbl_result.result_position, DATE_FORMAT(tbl_gp.gp_date, '%d/%m/%Y') gp_date, tbl_rider.rider_number, tbl_gp.gp_id, SUM(tbl_result.result_points) points FROM tbl_result LIMIT 5
Como podría hacerlo?