Bahrain Grand Prix
01/Classification
Finishing order
| Pos | Driver | Constructor | Grid | +/- | Laps | Time / status | Pts | Fastest lap |
|---|---|---|---|---|---|---|---|---|
| 1 | Felipe Massa | Ferrari | 2 | +1 | 57 | 1:31:06.970 | 10 | 1:33.600 L38 |
| 2 | Kimi Räikkönen | Ferrari | 4 | +2 | 57 | +3.339 | 8 | 1:33.709 L35 |
| 3 | Robert Kubica | BMW Sauber | 1 | -2 | 57 | +4.998 | 6 | 1:33.775 L55 |
| 4 | Nick Heidfeld | BMW Sauber | 6 | +2 | 57 | +8.409 | 5 | 1:33.565 L48 |
| 5 | Heikki Kovalainen | McLaren | 5 | 0 | 57 | +26.789 | 4 | 1:33.193 L49 |
| 6 | Jarno Trulli | Toyota | 7 | +1 | 57 | +41.314 | 3 | 1:34.204 L45 |
| 7 | Mark Webber | Red Bull | 11 | +4 | 57 | +45.473 | 2 | 1:34.305 L51 |
| 8 | Nico Rosberg | Williams | 8 | 0 | 57 | +55.889 | 1 | 1:34.072 L57 |
| 9 | Timo Glock | Toyota | 13 | +4 | 57 | +1:09.500 | 0 | 1:34.807 L56 |
| 10 | Fernando Alonso | Renault | 10 | 0 | 57 | +1:17.181 | 0 | 1:35.194 L35 |
| 11 | Rubens Barrichello | Honda | 12 | +1 | 57 | +1:17.862 | 0 | 1:34.855 L40 |
| 12 | Giancarlo Fisichella | Force India | 18 | +6 | 56 | +1 Lap | 0 | 1:35.057 L56 |
| 13 | Lewis Hamilton | McLaren | 3 | -10 | 56 | +1 Lap | 0 | 1:35.520 L25 |
| 14 | Kazuki Nakajima | Williams | 16 | +2 | 56 | +1 Lap | 0 | 1:35.433 L30 |
| 15 | Sébastien Bourdais | Toro Rosso | 15 | 0 | 56 | +1 Lap | 0 | 1:35.333 L33 |
| 16 | Anthony Davidson | Super Aguri | 21 | +5 | 56 | +1 Lap | 0 | 1:35.324 L45 |
| 17 | Takuma Sato | Super Aguri | 22 | +5 | 56 | +1 Lap | 0 | 1:35.891 L56 |
| 18 | David Coulthard | Red Bull | 17 | -1 | 56 | +1 Lap | 0 | 1:35.351 L43 |
| 19 | Adrian Sutil | Force India | 20 | +1 | 56 | +2 Laps | 0 | 1:35.442 L55 |
| R | Nelson Piquet Jr. | Renault | 14 | — | 40 | Gearbox | 0 | 1:35.129 L31 |
| R | Jenson Button | Honda | 9 | — | 19 | Collision | 0 | 1:36.125 L11 |
| R | Sebastian Vettel | Toro Rosso | 19 | — | 0 | Engine | 0 | — |
Ordered on the source’s position column and printed from position_text. Those two disagree on purpose: position is a sort key that is never null, and position_text is what happened to the car. 3 of 22 cars here were not classified (3 retired). Across the archive that is 9,612 of 26,048 result rows, so a page that printed the sort key would tell more than a third of every field it finished.
02/Grid to finish
Grid minus finishing position
| Driver | Constructor | Grid | Fin | +/- |
|---|---|---|---|---|
| Giancarlo Fisichella | Force India | 18 | 12 | +6 |
| Anthony Davidson | Super Aguri | 21 | 16 | +5 |
| Takuma Sato | Super Aguri | 22 | 17 | +5 |
| Mark Webber | Red Bull | 11 | 7 | +4 |
| Timo Glock | Toyota | 13 | 9 | +4 |
| Driver | Constructor | Grid | Fin | +/- |
|---|---|---|---|---|
| Lewis Hamilton | McLaren | 3 | 13 | -10 |
| Robert Kubica | BMW Sauber | 1 | 3 | -2 |
| David Coulthard | Red Bull | 17 | 18 | -1 |
Movement is grid minus finishing position, and it is computed for 19 of the 22 cars entered. It is left blank for the other 3: a car that was not classified has no finishing position to subtract from, and no car here carries grid 0, the value the source uses for a pit lane start or for no recorded grid slot. Scoring a grid of 0 as a gain of every place on the grid is the arithmetic this rule exists to stop; 266 of 26,048 rows across the archive are grid 0, and 40 of those were classified.
03/The 2008 season
MAR 16 to NOV 2
| Rd | Date | Grand Prix | Circuit | Winner | Constructor | Cars |
|---|---|---|---|---|---|---|
| 1 | MAR 16 | Australian Grand Prix | Albert Park Grand Prix Circuit | Lewis Hamilton | McLaren | 22 |
| 2 | MAR 23 | Malaysian Grand Prix | Sepang International Circuit | Kimi Räikkönen | Ferrari | 22 |
| 3 | APR 6 | Bahrain Grand Prix | Bahrain International Circuit | Felipe Massa | Ferrari | 22 |
| 4 | APR 27 | Spanish Grand Prix | Circuit de Barcelona-Catalunya | Kimi Räikkönen | Ferrari | 22 |
| 5 | MAY 11 | Turkish Grand Prix | Istanbul Park | Felipe Massa | Ferrari | 20 |
| 6 | MAY 25 | Monaco Grand Prix | Circuit de Monaco | Lewis Hamilton | McLaren | 20 |
| 7 | JUN 8 | Canadian Grand Prix | Circuit Gilles Villeneuve | Robert Kubica | BMW Sauber | 20 |
| 8 | JUN 22 | French Grand Prix | Circuit de Nevers Magny-Cours | Felipe Massa | Ferrari | 20 |
| 9 | JUL 6 | British Grand Prix | Silverstone Circuit | Lewis Hamilton | McLaren | 20 |
| 10 | JUL 20 | German Grand Prix | Hockenheimring | Lewis Hamilton | McLaren | 20 |
| 11 | AUG 3 | Hungarian Grand Prix | Hungaroring | Heikki Kovalainen | McLaren | 20 |
| 12 | AUG 24 | European Grand Prix | Valencia Street Circuit | Felipe Massa | Ferrari | 20 |
| 13 | SEP 7 | Belgian Grand Prix | Circuit de Spa-Francorchamps | Felipe Massa | Ferrari | 20 |
| 14 | SEP 14 | Italian Grand Prix | Autodromo Nazionale di Monza | Sebastian Vettel | Toro Rosso | 20 |
| 15 | SEP 28 | Singapore Grand Prix | Marina Bay Street Circuit | Fernando Alonso | Renault | 20 |
| 16 | OCT 12 | Japanese Grand Prix | Fuji Speedway | Fernando Alonso | Renault | 20 |
| 17 | OCT 19 | Chinese Grand Prix | Shanghai International Circuit | Lewis Hamilton | McLaren | 20 |
| 18 | NOV 2 | Brazilian Grand Prix | Autódromo José Carlos Pace | Felipe Massa | Ferrari | 20 |
Every figure here is one race, read from f1_results and f1_races. The finishing order is the source’s position column; the printed position is position_text, which is a letter on 9,612 of 26,048 rows across the archive (R retired 9,089, W withdrew 364, D disqualified 159). Grid 0 is a pit lane start and prints as PIT, not as a place ahead of pole; 266 of 26,048 rows are grid 0. Time is a total for the winner and a gap to the car ahead for everyone else, and it is present on 8,508 of 26,048 rows only, so most of the archive shows the status instead; where both exist and the status is not “Finished” the status is printed beside the time, because 8,335 of 16,436 classified rows finished lapped or otherwise not cleanly. The fastest lap column is empty before 2004: the source carries lap timing on 8,977 of 26,048 rows and a ranked fastest lap in 447 of 1,161 races, and speed on 8,238 of those, none after 2024. Points are printed as the source stores them and are never rounded to a whole number: 38 of 26,048 rows are fractional (0.5, 1.33, 3.14), which is half points for a shortened race and a split score for a shared car, and every one of them is real. Three races (1951 French, 1956 Argentine, 1957 British) print two cars as first, because two drivers shared one car and the record books credit both; in those three the source hangs the race points on other rows, which is why 5 of 1,164 winning rows across the archive print zero points. Constructors carry no logo in any f1_* table, so none is drawn and none is invented. The 2008 season is complete at 18 rounds.