Mam problem z wyświetleniem wyników z bazy w przypadku "ex aequo"
Tabela 'wyniki' wygląda jak poniżej:
Kod
id impreza zawodnik czas
73 1 18 00:40:09
72 1 19 00:40:27
79 1 25 00:40:31
74 1 21 00:40:37
80 1 27 00:40:38
78 1 26 00:40:39
77 1 23 00:40:44
71 1 17 00:40:47
76 1 24 00:40:53
67 1 14 00:41:05
75 1 20 00:41:05
68 1 13 00:41:17
69 1 16 00:41:38
70 1 15 00:41:03
55 1 2 00:41:48
56 1 1 00:41:50
65 1 12 00:42:10
66 1 11 00:42:10
57 1 4 00:42:42
63 1 10 00:43:17
64 1 9 00:43:29
61 1 8 00:44:15
62 1 7 00:44:26
59 1 6 00:45:17
60 1 5 00:45:34
73 1 18 00:40:09
72 1 19 00:40:27
79 1 25 00:40:31
74 1 21 00:40:37
80 1 27 00:40:38
78 1 26 00:40:39
77 1 23 00:40:44
71 1 17 00:40:47
76 1 24 00:40:53
67 1 14 00:41:05
75 1 20 00:41:05
68 1 13 00:41:17
69 1 16 00:41:38
70 1 15 00:41:03
55 1 2 00:41:48
56 1 1 00:41:50
65 1 12 00:42:10
66 1 11 00:42:10
57 1 4 00:42:42
63 1 10 00:43:17
64 1 9 00:43:29
61 1 8 00:44:15
62 1 7 00:44:26
59 1 6 00:45:17
60 1 5 00:45:34
Zapytanie do bazy
SELECT * , FIND_IN_SET( czas, ( SELECT GROUP_CONCAT( DISTINCT czas ORDER BY czas ASC ) FROM wyniki ) ) AS rank FROM wyniki WHERE impreza = 1 ORDER BY `rank` ASC
Wynik zapytania
Kod
id impreza zawodnik czas rank
73 1 18 00:40:09 1
72 1 19 00:40:27 2
79 1 25 00:40:31 3
74 1 21 00:40:37 4
80 1 27 00:40:38 5
78 1 26 00:40:39 6
77 1 23 00:40:44 7
71 1 17 00:40:47 8
76 1 24 00:40:53 9
67 1 14 00:41:05 10
75 1 20 00:41:05 10
68 1 13 00:41:17 11
69 1 16 00:41:38 12
70 1 15 00:41:03 13
55 1 2 00:41:48 14
56 1 1 00:41:50 15
65 1 12 00:42:10 16
66 1 11 00:42:10 16
57 1 4 00:42:42 17
63 1 10 00:43:17 18
64 1 9 00:43:29 19
61 1 8 00:44:15 20
62 1 7 00:44:26 21
59 1 6 00:45:17 22
60 1 5 00:45:34 23
73 1 18 00:40:09 1
72 1 19 00:40:27 2
79 1 25 00:40:31 3
74 1 21 00:40:37 4
80 1 27 00:40:38 5
78 1 26 00:40:39 6
77 1 23 00:40:44 7
71 1 17 00:40:47 8
76 1 24 00:40:53 9
67 1 14 00:41:05 10
75 1 20 00:41:05 10
68 1 13 00:41:17 11
69 1 16 00:41:38 12
70 1 15 00:41:03 13
55 1 2 00:41:48 14
56 1 1 00:41:50 15
65 1 12 00:42:10 16
66 1 11 00:42:10 16
57 1 4 00:42:42 17
63 1 10 00:43:17 18
64 1 9 00:43:29 19
61 1 8 00:44:15 20
62 1 7 00:44:26 21
59 1 6 00:45:17 22
60 1 5 00:45:34 23
Ja zrobić żeby po drugiej 10 rank równy był 12

Wtedy kolejne ex aequo będzie na 17 pozycji a w rezultacie rozdzielone będzie 25 miejsc a nie 23
Pętla do wyświetlenia wyników
{ $id_result = $row[0]; $z_numer_startowy= $row[2]+0; $w_czas = $row[3]; $rank = $row[4]; }
Z góry dziękuje za podpowiedzi