Chinese Grand Prix
01/Classification
Finishing order
| Pos | Driver | Constructor | Grid | +/- | Laps | Time / status | Pts | Fastest lap |
|---|---|---|---|---|---|---|---|---|
| 1 | Oscar Piastri | McLaren | 1 | 0 | 56 | 1:30:55.026 | 25 | 1:35.520 L53 |
| 2 | Lando Norris | McLaren | 3 | +1 | 56 | +9.748 | 18 | 1:35.454 L53 |
| 3 | George Russell | Mercedes | 2 | -1 | 56 | +11.097 | 15 | 1:35.816 L55 |
| 4 | Max Verstappen | Red Bull | 4 | 0 | 56 | +16.656 | 12 | 1:35.488 L56 |
| 5 | Esteban Ocon | Haas F1 Team | 11 | +6 | 56 | +49.969 | 10 | 1:35.740 L56 |
| 6 | Andrea Kimi Antonelli | Mercedes | 8 | +2 | 56 | +53.748 | 8 | 1:36.046 L56 |
| 7 | Alexander Albon | Williams | 10 | +3 | 56 | +56.321 | 6 | 1:36.254 L52 |
| 8 | Oliver Bearman | Haas F1 Team | 17 | +9 | 56 | +1:01.303 | 4 | 1:36.363 L52 |
| 9 | Lance Stroll | Aston Martin | 14 | +5 | 56 | +1:10.204 | 2 | 1:36.044 L39 |
| 10 | Carlos Sainz | Williams | 15 | +5 | 56 | +1:16.387 | 1 | 1:36.779 L50 |
| 11 | Isack Hadjar | RB F1 Team | 7 | -4 | 56 | +1:18.875 | 0 | 1:35.868 L35 |
| 12 | Liam Lawson | Red Bull | 20 | +8 | 56 | +1:21.147 | 0 | 1:35.985 L32 |
| 13 | Jack Doohan | Alpine F1 Team | 18 | +5 | 56 | +1:28.401 | 0 | 1:36.424 L52 |
| 14 | Gabriel Bortoleto | Sauber | 19 | +5 | 55 | +10.756 Lapped | 0 | 1:35.874 L28 |
| 15 | Nico Hülkenberg | Sauber | 12 | -3 | 55 | +20.226 Lapped | 0 | 1:37.275 L35 |
| 16 | Yuki Tsunoda | RB F1 Team | 9 | -7 | 55 | +23.511 Lapped | 0 | 1:35.871 L49 |
| R | Fernando Alonso | Aston Martin | 13 | — | 4 | Retired | 0 | 1:39.256 L3 |
| D | Charles Leclerc | Ferrari | 6 | — | 0 | Disqualified | 0 | — |
| D | Lewis Hamilton | Ferrari | 5 | — | 0 | Disqualified | 0 | — |
| D | Pierre Gasly | Alpine F1 Team | 16 | — | 0 | Disqualified | 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. 4 of 20 cars here were not classified (3 disqualified, 1 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 | +/- |
|---|---|---|---|---|
| Oliver Bearman | Haas F1 Team | 17 | 8 | +9 |
| Liam Lawson | Red Bull | 20 | 12 | +8 |
| Esteban Ocon | Haas F1 Team | 11 | 5 | +6 |
| Lance Stroll | Aston Martin | 14 | 9 | +5 |
| Carlos Sainz | Williams | 15 | 10 | +5 |
| Driver | Constructor | Grid | Fin | +/- |
|---|---|---|---|---|
| Yuki Tsunoda | RB F1 Team | 9 | 16 | -7 |
| Isack Hadjar | RB F1 Team | 7 | 11 | -4 |
| Nico Hülkenberg | Sauber | 12 | 15 | -3 |
| George Russell | Mercedes | 2 | 3 | -1 |
Movement is grid minus finishing position, and it is computed for 16 of the 20 cars entered. It is left blank for the other 4: 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 2025 season
MAR 16 to DEC 7
| Rd | Date | Grand Prix | Circuit | Winner | Constructor | Cars |
|---|---|---|---|---|---|---|
| 1 | MAR 16 | Australian Grand Prix | Albert Park Grand Prix Circuit | Lando Norris | McLaren | 20 |
| 2 | MAR 23 | Chinese Grand Prix | Shanghai International Circuit | Oscar Piastri | McLaren | 20 |
| 3 | APR 6 | Japanese Grand Prix | Suzuka Circuit | Max Verstappen | Red Bull | 20 |
| 4 | APR 13 | Bahrain Grand Prix | Bahrain International Circuit | Oscar Piastri | McLaren | 20 |
| 5 | APR 20 | Saudi Arabian Grand Prix | Jeddah Corniche Circuit | Oscar Piastri | McLaren | 20 |
| 6 | MAY 4 | Miami Grand Prix | Miami International Autodrome | Oscar Piastri | McLaren | 20 |
| 7 | MAY 18 | Emilia Romagna Grand Prix | Autodromo Enzo e Dino Ferrari | Max Verstappen | Red Bull | 20 |
| 8 | MAY 25 | Monaco Grand Prix | Circuit de Monaco | Lando Norris | McLaren | 20 |
| 9 | JUN 1 | Spanish Grand Prix | Circuit de Barcelona-Catalunya | Oscar Piastri | McLaren | 19 |
| 10 | JUN 15 | Canadian Grand Prix | Circuit Gilles Villeneuve | George Russell | Mercedes | 20 |
| 11 | JUN 29 | Austrian Grand Prix | Red Bull Ring | Lando Norris | McLaren | 20 |
| 12 | JUL 6 | British Grand Prix | Silverstone Circuit | Lando Norris | McLaren | 20 |
| 13 | JUL 27 | Belgian Grand Prix | Circuit de Spa-Francorchamps | Oscar Piastri | McLaren | 20 |
| 14 | AUG 3 | Hungarian Grand Prix | Hungaroring | Lando Norris | McLaren | 20 |
| 15 | AUG 31 | Dutch Grand Prix | Circuit Park Zandvoort | Oscar Piastri | McLaren | 20 |
| 16 | SEP 7 | Italian Grand Prix | Autodromo Nazionale di Monza | Max Verstappen | Red Bull | 20 |
| 17 | SEP 21 | Azerbaijan Grand Prix | Baku City Circuit | Max Verstappen | Red Bull | 20 |
| 18 | OCT 5 | Singapore Grand Prix | Marina Bay Street Circuit | George Russell | Mercedes | 20 |
| 19 | OCT 19 | United States Grand Prix | Circuit of the Americas | Max Verstappen | Red Bull | 20 |
| 20 | OCT 26 | Mexico City Grand Prix | Autódromo Hermanos Rodríguez | Lando Norris | McLaren | 20 |
| 21 | NOV 9 | São Paulo Grand Prix | Autódromo José Carlos Pace | Lando Norris | McLaren | 20 |
| 22 | NOV 23 | Las Vegas Grand Prix | Las Vegas Strip Street Circuit | Max Verstappen | Red Bull | 20 |
| 23 | NOV 30 | Qatar Grand Prix | Losail International Circuit | Max Verstappen | Red Bull | 20 |
| 24 | DEC 7 | Abu Dhabi Grand Prix | Yas Marina Circuit | Max Verstappen | Red Bull | 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 2025 season is complete at 24 rounds.