Azerbaijan Grand Prix
01/Classification
Finishing order
| Pos | Driver | Constructor | Grid | +/- | Laps | Time / status | Pts | Fastest lap |
|---|---|---|---|---|---|---|---|---|
| 1 | Valtteri Bottas | Mercedes | 1 | 0 | 51 | 1:31:52.942 | 25 | 1:44.024 L50 |
| 2 | Lewis Hamilton | Mercedes | 2 | 0 | 51 | +1.524 | 18 | 1:44.166 L48 |
| 3 | Sebastian Vettel | Ferrari | 3 | 0 | 51 | +11.739 | 15 | 1:44.629 L46 |
| 4 | Max Verstappen | Red Bull | 4 | 0 | 51 | +17.493 | 12 | 1:44.794 L39 |
| 5 | Charles Leclerc | Ferrari | 8 | +3 | 51 | +1:09.107 | 11 | 1:43.009 L50 |
| 6 | Sergio Pérez | Racing Point | 5 | -1 | 51 | +1:16.416 | 8 | 1:45.524 L49 |
| 7 | Carlos Sainz | McLaren | 9 | +2 | 51 | +1:23.826 | 6 | 1:45.807 L43 |
| 8 | Lando Norris | McLaren | 7 | -1 | 51 | +1:40.268 | 4 | 1:45.394 L43 |
| 9 | Lance Stroll | Racing Point | 13 | +4 | 51 | +1:43.816 | 2 | 1:46.009 L38 |
| 10 | Kimi Räikkönen | Alfa Romeo | PIT | — | 50 | +1 Lap | 1 | 1:46.479 L48 |
| 11 | Alexander Albon | Toro Rosso | 11 | 0 | 50 | +1 Lap | 0 | 1:45.754 L49 |
| 12 | Antonio Giovinazzi | Alfa Romeo | 17 | +5 | 50 | +1 Lap | 0 | 1:45.969 L45 |
| 13 | Kevin Magnussen | Haas F1 Team | 12 | -1 | 50 | +1 Lap | 0 | 1:46.682 L42 |
| 14 | Nico Hülkenberg | Renault | 15 | +1 | 50 | +1 Lap | 0 | 1:47.407 L43 |
| 15 | George Russell | Williams | 16 | +1 | 49 | +2 Laps | 0 | 1:47.251 L42 |
| 16 | Robert Kubica | Williams | PIT | — | 49 | +2 Laps | 0 | 1:47.709 L45 |
| R | Pierre Gasly | Red Bull | PIT | — | 38 | Transmission | 0 | 1:45.712 L34 |
| R | Romain Grosjean | Haas F1 Team | 14 | — | 38 | Brakes | 0 | 1:48.517 L33 |
| R | Daniil Kvyat | Toro Rosso | 6 | — | 33 | Collision | 0 | 1:47.681 L28 |
| R | Daniel Ricciardo | Renault | 10 | — | 31 | Collision | 0 | 1:46.767 L29 |
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. 4 of 20 cars here were not classified (4 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 | +/- |
|---|---|---|---|---|
| Antonio Giovinazzi | Alfa Romeo | 17 | 12 | +5 |
| Lance Stroll | Racing Point | 13 | 9 | +4 |
| Charles Leclerc | Ferrari | 8 | 5 | +3 |
| Carlos Sainz | McLaren | 9 | 7 | +2 |
| Nico Hülkenberg | Renault | 15 | 14 | +1 |
| Driver | Constructor | Grid | Fin | +/- |
|---|---|---|---|---|
| Sergio Pérez | Racing Point | 5 | 6 | -1 |
| Lando Norris | McLaren | 7 | 8 | -1 |
| Kevin Magnussen | Haas F1 Team | 12 | 13 | -1 |
Movement is grid minus finishing position, and it is computed for 14 of the 20 cars entered. It is left blank for the other 6: a car that was not classified has no finishing position to subtract from, and 3 cars here carry grid 0, which the source uses for a pit lane start or for no recorded grid slot and this page prints as PIT, and neither has a grid position to subtract. 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 2019 season
MAR 17 to DEC 1
| Rd | Date | Grand Prix | Circuit | Winner | Constructor | Cars |
|---|---|---|---|---|---|---|
| 1 | MAR 17 | Australian Grand Prix | Albert Park Grand Prix Circuit | Valtteri Bottas | Mercedes | 20 |
| 2 | MAR 31 | Bahrain Grand Prix | Bahrain International Circuit | Lewis Hamilton | Mercedes | 20 |
| 3 | APR 14 | Chinese Grand Prix | Shanghai International Circuit | Lewis Hamilton | Mercedes | 20 |
| 4 | APR 28 | Azerbaijan Grand Prix | Baku City Circuit | Valtteri Bottas | Mercedes | 20 |
| 5 | MAY 12 | Spanish Grand Prix | Circuit de Barcelona-Catalunya | Lewis Hamilton | Mercedes | 20 |
| 6 | MAY 26 | Monaco Grand Prix | Circuit de Monaco | Lewis Hamilton | Mercedes | 20 |
| 7 | JUN 9 | Canadian Grand Prix | Circuit Gilles Villeneuve | Lewis Hamilton | Mercedes | 20 |
| 8 | JUN 23 | French Grand Prix | Circuit Paul Ricard | Lewis Hamilton | Mercedes | 20 |
| 9 | JUN 30 | Austrian Grand Prix | Red Bull Ring | Max Verstappen | Red Bull | 20 |
| 10 | JUL 14 | British Grand Prix | Silverstone Circuit | Lewis Hamilton | Mercedes | 20 |
| 11 | JUL 28 | German Grand Prix | Hockenheimring | Max Verstappen | Red Bull | 20 |
| 12 | AUG 4 | Hungarian Grand Prix | Hungaroring | Lewis Hamilton | Mercedes | 20 |
| 13 | SEP 1 | Belgian Grand Prix | Circuit de Spa-Francorchamps | Charles Leclerc | Ferrari | 20 |
| 14 | SEP 8 | Italian Grand Prix | Autodromo Nazionale di Monza | Charles Leclerc | Ferrari | 20 |
| 15 | SEP 22 | Singapore Grand Prix | Marina Bay Street Circuit | Sebastian Vettel | Ferrari | 20 |
| 16 | SEP 29 | Russian Grand Prix | Sochi Autodrom | Lewis Hamilton | Mercedes | 20 |
| 17 | OCT 13 | Japanese Grand Prix | Suzuka Circuit | Valtteri Bottas | Mercedes | 20 |
| 18 | OCT 27 | Mexican Grand Prix | Autódromo Hermanos Rodríguez | Lewis Hamilton | Mercedes | 20 |
| 19 | NOV 3 | United States Grand Prix | Circuit of the Americas | Valtteri Bottas | Mercedes | 20 |
| 20 | NOV 17 | Brazilian Grand Prix | Autódromo José Carlos Pace | Max Verstappen | Red Bull | 20 |
| 21 | DEC 1 | Abu Dhabi Grand Prix | Yas Marina Circuit | Lewis Hamilton | Mercedes | 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 2019 season is complete at 21 rounds.