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 | 24 | SF | 34 | 34 | 117 | 15 | 33 | 3 | 1 | 3 | 16 | 0 | 8 | 29 | .282 | .339 | .402 | .741 | 1.9 |
| 2018 | 25 | SF | 74 | 74 | 199 | 21 | 50 | 6 | 1 | 1 | 23 | 7 | 20 | 69 | .251 | .333 | .307 | .640 | 2.7 |
| 2019 | 26 | SF | 68 | 68 | 168 | 20 | 40 | 9 | 3 | 5 | 21 | 1 | 22 | 59 | .238 | .333 | .417 | .750 | 2.8 |
| 2020 | 27 | SF | 31 | 31 | 85 | 18 | 24 | 2 | 1 | 5 | 7 | 8 | 16 | 22 | .282 | .408 | .506 | .914 | 2.4 |
| 2021 | 28 | SF | 129 | 129 | 274 | 39 | 66 | 12 | 1 | 12 | 32 | 15 | 28 | 84 | .241 | .320 | .423 | .743 | 6.4 |
| 2022 | 29 | SF | 125 | 125 | 277 | 49 | 73 | 15 | 2 | 7 | 34 | 12 | 40 | 89 | .264 | .366 | .408 | .774 | 7.2 |
| 2023 | 30 | SF | 89 | 89 | 185 | 24 | 50 | 9 | 0 | 5 | 20 | 2 | 20 | 58 | .270 | .348 | .400 | .748 | 3.7 |
| 2024 | 31 | SF | 43 | 43 | 90 | 12 | 18 | 1 | 0 | 1 | 9 | 2 | 16 | 31 | .200 | .330 | .244 | .574 | 1.2 |
| 2024 | 31 | CIN | 8 | 8 | 18 | 2 | 2 | 0 | 0 | 0 | 3 | 0 | 2 | 6 | .111 | .190 | .111 | .301 | 1.2 |
| 2024 | 31 | BAL | 33 | 33 | 69 | 10 | 17 | 3 | 0 | 1 | 6 | 1 | 8 | 23 | .246 | .342 | .333 | .675 | 1.2 |
| 2025 | 32 | CWS | 51 | 51 | 123 | 20 | 29 | 6 | 1 | 5 | 11 | 1 | 11 | 35 | .236 | .299 | .423 | .722 | β |
| 2025 | 32 | NYY | 14 | 14 | 25 | 2 | 3 | 0 | 0 | 0 | 2 | 0 | 0 | 16 | .120 | .120 | .120 | .240 | β |
| 2026 | 33 | MIA | 12 | 12 | 23 | 1 | 4 | 0 | 0 | 0 | 1 | 1 | 4 | 9 | .174 | .286 | .174 | .460 | β |
| 2026 | 33 | NYM | 9 | 9 | 20 | 3 | 5 | 1 | 0 | 0 | 1 | 0 | 1 | 6 | .250 | .286 | .300 | .586 | β |
| 2026 | 33 | TB | 7 | 7 | 22 | 2 | 6 | 2 | 0 | 0 | 1 | 3 | 3 | 6 | .273 | .360 | .364 | .724 | β |
Wore 8 distinct franchise crests across 10 seasons (2017β2026) β a true nomad. The crest trail: