1
我無法解決這個問題(比賽),我需要顯示每個LAP的時間。這是多次表組,計數和連續圈
id | race_id | car_num | time |
+-----+-------------+---------+------------+
1 | 8 | 25 | 00:09:05 |
2 | 8 | 33 | 00:09:35 |
3 | 8 | 10 | 00:09:55 |
4 | 8 | 25 | 00:18:15 |
5 | 8 | 33 | 00:19:05 |
6 | 8 | 25 | 00:39:45 |
我嘗試此查詢:
SELECT
car_num, COUNT(car_num) as laps, race_id, concat(vlap,'-',time) as times
FROM
(SELECT num_car, concat(time,'-',v1) vlap
FROM tiempos) vti
GROUP BY
car_num
這是必需的輸出:
car_num | laps | race_id | times |
+-----+-------------+---------+------------------------------------------------+
25 | 3 | 8 | lap1 00:09:05, lap2 00:18:15, lap3 00:39:45 |
33 | 2 | 8 | lap1 00:09:35, lap2 00:19:05 |
10 | 1 | 8 | lap1 00:09:55 |
我暈,一些想法,請
謝謝朋友!!!!已解決 – 2014-09-23 02:30:48
爲什麼要檢查'if(@t = time'兩次?不應該只是'if(@t = time,@rn + 1,1)'? – sgeddes 2014-09-23 02:31:38
@sgeddes ...您需要完成這項任務,MySQL並不保證表達式在'select'中的評估順序,因此,所有與這些變量相關的工作都被放入一個表達式。 – 2014-09-23 03:03:05