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 | 21 | BAL | 20 | 20 | 60 | 4 | 13 | 3 | 0 | 1 | 8 | 0 | 2 | 16 | .217 | .238 | .317 | .555 | β |
| 2019 | 23 | BAL | 21 | 21 | 68 | 12 | 21 | 6 | 0 | 4 | 13 | 2 | 7 | 13 | .309 | .373 | .574 | .947 | β |
| 2020 | 24 | BAL | 33 | 33 | 122 | 20 | 34 | 2 | 0 | 4 | 9 | 2 | 8 | 25 | .279 | .328 | .393 | .721 | 1.8 |
| 2021 | 25 | BAL | 131 | 131 | 488 | 73 | 125 | 26 | 4 | 22 | 71 | 4 | 28 | 107 | .256 | .308 | .461 | .769 | 9.8 |
| 2022 | 26 | BAL | 145 | 145 | 535 | 66 | 134 | 35 | 2 | 16 | 60 | 2 | 34 | 114 | .250 | .306 | .413 | .719 | 9.1 |
| 2023 | 27 | BAL | 144 | 144 | 520 | 76 | 143 | 36 | 2 | 16 | 67 | 5 | 38 | 141 | .275 | .325 | .444 | .769 | 9.8 |
| 2024 | 28 | BAL | 63 | 63 | 157 | 18 | 40 | 13 | 0 | 3 | 14 | 0 | 9 | 40 | .255 | .316 | .395 | .711 | β |
| 2024 | 28 | PHI | 22 | 22 | 78 | 8 | 20 | 5 | 0 | 2 | 6 | 2 | 0 | 19 | .256 | .275 | .397 | .672 | β |
| 2025 | 29 | CIN | 103 | 103 | 380 | 60 | 101 | 16 | 5 | 15 | 64 | 7 | 29 | 107 | .266 | .315 | .453 | .768 | 8.4 |
| 2026 | 30 | CWS | 12 | 12 | 43 | 3 | 10 | 1 | 0 | 1 | 7 | 0 | 1 | 13 | .233 | .250 | .326 | .576 | β |
Wore 4 distinct franchise crests across 10 seasons (2017β2026) β a true nomad. The crest trail: