C.J. O'Hara
Wright St · Horizon League · 2026-27 roster

C.J. O'Hara
#10 · Guard · Junior · 6'4" · 200 lb · Minneapolis, MN
Season averages
| Season | GP | MPG | PPG | RPG | APG | SPG | BPG | TO | FG% | 3P% | FT% |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-26 | 33 | 32.6 | 14.1 | 4.4 | 1.2 | 1.0 | 0.2 | 1.5 | .570 | .280 | .794 |
| 2024-25 | 31 | 12.5 | 4.0 | 2.2 | 0.6 | 0.4 | 0.2 | 0.5 | .519 | .111 | .696 |
Last 20 games
| Date | MIN | PTS | REB | AST | STL | BLK | TO | FG | 3P | FT |
|---|---|---|---|---|---|---|---|---|---|---|
| Monday, November 4 | 11 | 0 | 1 | 1 | 1 | 0 | 0 | 0-1 | 0-0 | 0-0 |
| Friday, November 8 | 22 | 10 | 2 | 0 | 1 | 0 | 1 | 4-9 | 1-4 | 1-2 |
| Wednesday, November 13 | 8 | 4 | 1 | 0 | 0 | 0 | 0 | 2-4 | 0-2 | 0-0 |
| Saturday, November 16 | 9 | 2 | 3 | 1 | 0 | 0 | 0 | 0-0 | 0-0 | 2-3 |
| Tuesday, November 19 | 12 | 2 | 1 | 1 | 1 | 0 | 1 | 1-3 | 0-1 | 0-0 |
| Friday, November 22 | 17 | 5 | 1 | 2 | 1 | 1 | 0 | 2-4 | 0-2 | 1-2 |
| Monday, November 25 | 16 | 2 | 1 | 0 | 0 | 0 | 0 | 1-2 | 0-0 | 0-0 |
| Saturday, November 30 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0-0 | 0-0 | 0-0 |
| Wednesday, December 4 | 5 | 0 | 2 | 1 | 0 | 0 | 0 | 0-2 | 0-0 | 0-0 |
| Saturday, December 7 | 12 | 4 | 1 | 1 | 1 | 1 | 2 | 2-3 | 0-0 | 0-0 |
| Wednesday, December 11 | 9 | 2 | 2 | 1 | 0 | 0 | 2 | 0-1 | 0-0 | 2-3 |
| Saturday, December 14 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0-0 | 0-0 | 0-0 |
| Wednesday, December 18 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0-0 | 0-0 | 0-0 |
| Saturday, December 21 | 13 | 4 | 1 | 0 | 1 | 0 | 0 | 1-2 | 0-0 | 2-2 |
| Sunday, December 29 | 15 | 5 | 4 | 1 | 0 | 0 | 2 | 2-4 | 0-1 | 1-2 |
| Thursday, January 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0-0 | 0-0 | 0-0 |
| Saturday, January 4 | 14 | 0 | 4 | 1 | 1 | 0 | 0 | 0-1 | 0-0 | 0-0 |
| Saturday, January 11 | 9 | 2 | 3 | 2 | 0 | 0 | 1 | 1-2 | 0-1 | 0-0 |
| Friday, January 17 | 11 | 4 | 2 | 0 | 0 | 0 | 2 | 2-3 | 0-0 | 0-2 |
| Wednesday, January 22 | 2 | 5 | 1 | 0 | 0 | 0 | 0 | 2-2 | 0-0 | 1-2 |
Everything above the table comes from the roster ESPN publishes, re-read on a schedule, so a transfer or a late signing shows up without anyone editing a list. About one player in five has no photo there.
Averages are derived from the box scores, never stored — so no number here can disagree with the games behind it. A night he didn't play isn't counted as a zero, which is why the games total can be lower than his team's.
Everyone else on the roster is on the Wright St page, and all 365 programs are listed by conference.