| Season | Team | Competition | MP | G | A | Rating | ||
|---|---|---|---|---|---|---|---|---|
| 2025 | Busan | K League 2 | 22 | 1 | 0 | 1 | 0 | – |
| 2024 | Incheon | K League 1 | 5 | 0 | 0 | 0 | 1 | 7.0 |
| 2023 | Incheon | K League 1 | 10 | 0 | 0 | 1 | 0 | 6.7 |
| 2022 | Incheon | K League 1 | 12 | 0 | 0 | 3 | 0 | 6.8 |
| 2021 | Incheon | K League 1 | 29 | 0 | 0 | 4 | 0 | 6.7 |
| 2020 | Incheon | K League 1 | 14 | 0 | 0 | 3 | 1 | 7.0 |
| 2019 | Muang Thong Utd | Thai League 1 | 2 | 2 | 0 | 0 | 0 | – |
| 2018/2019 | Al Wasl | UAE League | 11 | 1 | 0 | 0 | 0 | – |
| 2018 | Jeju SK | K League 1 | 24 | 1 | 0 | 2 | 0 | – |
| 2017 | Jeju SK | K-League Classic | 33 | 2 | 0 | 3 | 0 | – |
| 2016 | Jeju SK | K-League Classic | 16 | 1 | 0 | 0 | 0 | – |
| 2015 | Jeju SK | K-League Classic | 34 | 1 | 0 | 4 | 1 | – |
| 2014 | Jeju SK | K-League Classic | 36 | 0 | 0 | 4 | 0 | – |
| 2013 | Jeju SK | K League Classic | 30 | 1 | 0 | 6 | 0 | – |
| 2012 | Jeju SK | K-League | 2 | 0 | 0 | 2 | 0 | – |
| Total | 280 | 10 | 0 | 33 | 3 | – | ||
| Date | From | To | Type | |
|---|---|---|---|---|
| - | Incheon | Busan | Free agent | |
| 01 Apr 2021 | Jeonbuk | Incheon | Free agent | |
| - | Incheon | Jeonbuk | Return from loan | |
| - | Jeonbuk | Incheon | Loan | |
| 01 Mar 2020 | Al Wasl | Jeonbuk | Transfer | |
| - | Muang Thong Utd | Al Wasl | Return from loan | |
| - | Al Wasl | Muang Thong Utd | Loan | |
| - | Jeju SK | Al Wasl | Transfer | |
| 01 Jan 2011 | Konkuk | Jeju SK | Free agent | |
| 01 Jan 2007 | Gangwon | Konkuk | Free agent |
B. Oh career history shows progression across clubs and competitions, including club timeline, national team appearances and overall career totals.