Sport-specific career totals from the active profile tables, with VAL shown whenever the sport has a value file.
| Season | Age | Team | GP | G | AB | R | H | 2B | 3B | HR | RBI | SB | BB | SO | AVG | OBP | SLG | OPS | VAL |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2017 | 22 | NYM | 49 | 49 | 167 | 17 | 33 | 6 | 0 | 9 | 26 | 0 | 14 | 49 | .198 | .262 | .395 | .657 | 2.3 |
| 2018 | 23 | NYM | 56 | 56 | 143 | 14 | 32 | 11 | 1 | 5 | 11 | 0 | 4 | 47 | .224 | .255 | .420 | .675 | 1.7 |
| 2019 | 24 | NYM | 89 | 89 | 177 | 35 | 50 | 10 | 0 | 11 | 25 | 1 | 19 | 44 | .282 | .355 | .525 | .880 | 5.1 |
| 2020 | 25 | NYM | 50 | 50 | 177 | 27 | 56 | 21 | 1 | 10 | 42 | 0 | 14 | 45 | .316 | .377 | .616 | .993 | 4.8 |
| 2021 | 26 | NYM | 145 | 145 | 446 | 43 | 109 | 20 | 0 | 11 | 58 | 2 | 32 | 112 | .244 | .304 | .363 | .667 | 6.3 |
| 2022 | 27 | NYM | 58 | 58 | 134 | 11 | 26 | 10 | 1 | 0 | 17 | 0 | 12 | 37 | .194 | .276 | .284 | .560 | 0.8 |
| 2023 | 28 | WSH | 153 | 153 | 527 | 57 | 134 | 21 | 1 | 12 | 46 | 1 | 47 | 91 | .254 | .326 | .366 | .692 | 7 |
| 2024 | 29 | BOS | 84 | 84 | 249 | 29 | 59 | 20 | 0 | 6 | 34 | 1 | 25 | 65 | .237 | .317 | .390 | .707 | β |
| 2024 | 29 | CIN | 9 | 9 | 26 | 4 | 5 | 2 | 0 | 0 | 0 | 0 | 3 | 11 | .192 | .276 | .269 | .545 | β |
| 2025 | 30 | SF | 63 | 63 | 204 | 26 | 58 | 12 | 0 | 5 | 33 | 2 | 15 | 42 | .284 | .333 | .417 | .750 | 4.1 |
| 2026 | 31 | ATL | 74 | 74 | 198 | 29 | 54 | 6 | 1 | 6 | 35 | 0 | 13 | 31 | .273 | .313 | .404 | .717 | 3.9 |
Wore 6 distinct franchise crests across 10 seasons (2017β2026) β a true nomad. The crest trail: