Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Rosenborg | 2011/12 – 2026/27 | 207 | 7 | 14 |
| Zürich | 2022/23 – 2023/24 | 29 | 0 | 2 |
| Hebei Zhongji | 2021/22 | 14 | 1 | — |
| Norway | 2016 – 2020 | 32 | 2 | 3 |
| Shenzhen Ruby FC | 2019/20 – 2020/21 | 46 | 4 | 8 |
| Norway U21 | 2015 – 2019 | 7 | 0 | — |
| Saint Etienne | 2015/16 – 2018/19 | 92 | 0 | 7 |
| Norway U19 | 2012 – 2013 | 11 | 1 | — |
| Norway U17 | 2011 | 5 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 6 Sept 2023 | FC Zurich | Rosenborg | Free |
| 1 Jul 2022 | Shenzhen Ruby FC | FC Zurich | Free |
| 1 Jan 2022 | Hebei Zhongji | Shenzhen Ruby FC | — |
| 12 Apr 2021 | Shenzhen Ruby FC | Hebei Zhongji | Loan |
| 9 Feb 2019 | Saint Etienne | Shenzhen Ruby FC | € 5.5M |
| 1 Feb 2016 | Rosenborg | Saint Etienne | — |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | Eliteserien | Rosenborg | 19 | 17 | 1409 | 1 | 8 | 3 | 1 | 7.43 |
| 2025/26 | NM Cupen | Rosenborg | 1 | 0 | 59 | 0 | — | 0 | 0 | — |
| 2025/26 | Eliteserien | Rosenborg | 24 | 20 | 1833 | 0 | 2 | 6 | 0 | 7.33 |
| 2025/26 | UEFA Europa Conference League | Rosenborg | 3 | 3 | 180 | 0 | 1 | 0 | 0 | 7.70 |
| 2024/25 | Eliteserien | Rosenborg | 22 | 20 | 1876 | 1 | 1 | 4 | 0 | 7.59 |
| 2024/25 | NM Cupen | Rosenborg | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2023/24 | Eliteserien | Rosenborg | 9 | 9 | 810 | 0 | — | 3 | 0 | 7.00 |
| 2022/23 | Super League | Zürich | 16 | 10 | 904 | 0 | 1 | 5 | 0 | 6.94 |
| 2022/23 | Schweizer Cup | Zürich | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2022/23 | UEFA Europa League | Zürich | 10 | 9 | 784 | 0 | 1 | 2 | 0 | 6.82 |
| 2022/23 | UEFA Champions League | Zürich | 2 | 1 | 86 | 0 | — | 1 | 0 | 6.75 |
| 2021/22 | Super League | Hebei Zhongji | 14 | 13 | 1207 | 1 | — | 2 | 0 | 7.27 |
| 2020/21 | Super League | Shenzhen Ruby FC | 18 | 18 | 1592 | 0 | 5 | 5 | 0 | 7.25 |
| 2020/21 | FA Cup | Shenzhen Ruby FC | 1 | 0 | 33 | 0 | — | 1 | 0 | — |
| 2020 | Euro Championship | Norway | 9 | 9 | 778 | 0 | 3 | 1 | 0 | 7.14 |
| 2019/20 | Super League | Shenzhen Ruby FC | 27 | 26 | 2340 | 4 | 3 | 1 | 1 | 7.22 |
| 2018/19 | Ligue 1 | Saint Etienne | 20 | 19 | 1674 | 0 | 5 | 6 | 0 | 7.14 |
| 2018/19 | Coupe de la Ligue | Saint Etienne | 1 | 0 | 60 | 0 | — | 0 | 0 | — |
| 2018 | UEFA Nations League | Norway | 6 | 4 | 393 | 1 | — | 1 | 0 | — |
| 2018 | World Cup - Qualification Europe | Norway | 6 | 3 | 335 | 1 | — | 1 | 0 | 6.87 |
| 2018 | Friendlies | Norway | 3 | 0 | 69 | 0 | — | 0 | 0 | — |
| 2017/18 | Ligue 1 | Saint Etienne | 26 | 23 | 2060 | 0 | 2 | 9 | 0 | 6.99 |
| 2017/18 | Coupe de la Ligue | Saint Etienne | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | Coupe de France | Saint Etienne | 2 | 2 | 210 | 0 | — | 1 | 0 | — |
| 2017 | UEFA U21 Championship | Norway U21 | 5 | 5 | 428 | 0 | — | 3 | 0 | — |
| 2017 | Friendlies | Norway | 2 | 1 | 119 | 0 | — | 0 | 0 | — |
| 2016/17 | Ligue 1 | Saint Etienne | 26 | 23 | 2068 | 0 | — | 4 | 0 | 7.00 |
| 2016/17 | Coupe de la Ligue | Saint Etienne | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | Coupe de France | Saint Etienne | 1 | 1 | 120 | 0 | — | 0 | 0 | 7.70 |
| 2016/17 | UEFA Europa League | Saint Etienne | 9 | 8 | 738 | 0 | — | 0 | 0 | 7.06 |
| 2016 | Friendlies | Norway | 6 | 3 | 263 | 0 | — | 0 | 0 | — |
| 2015/16 | Ligue 1 | Saint Etienne | 3 | 2 | 174 | 0 | — | 0 | 0 | 6.60 |
| 2015/16 | Eliteserien | Rosenborg | 25 | 22 | 1951 | 2 | 2 | 6 | 0 | 8.10 |
| 2015/16 | Coupe de France | Saint Etienne | 2 | 2 | 210 | 0 | — | 0 | 0 | — |
| 2015/16 | NM Cupen | Rosenborg | 3 | 3 | 300 | 0 | — | 1 | 0 | — |
| 2015/16 | UEFA Europa League | Rosenborg | 14 | 14 | 1121 | 0 | — | 3 | 0 | 7.37 |
| 2015 | UEFA U21 Championship | Norway U21 | 2 | 2 | 164 | 0 | — | 0 | 0 | — |
| 2014/15 | Eliteserien | Rosenborg | 21 | 20 | 1770 | 1 | — | 4 | 0 | — |
| 2014/15 | UEFA Europa League | Rosenborg | 6 | 4 | 437 | 0 | — | 1 | 0 | — |
| 2013/14 | Eliteserien | Rosenborg | 19 | 10 | 1029 | 0 | — | 2 | 0 | — |
| 2013/14 | NM Cupen | Rosenborg | 5 | 4 | 336 | 1 | — | 1 | 0 | — |
| 2013/14 | UEFA Europa League | Rosenborg | 3 | 2 | 183 | 0 | — | 0 | 0 | — |
| 2013 | UEFA U19 Championship | Norway U19 | 6 | 6 | 540 | 1 | — | 1 | 0 | — |
| 2012/13 | Eliteserien | Rosenborg | 22 | 12 | 1253 | 1 | — | 1 | 0 | — |
| 2012/13 | NM Cupen | Rosenborg | 2 | 2 | 144 | 0 | — | 0 | 0 | — |
| 2012/13 | UEFA Europa League | Rosenborg | 8 | 3 | 304 | 0 | — | 0 | 0 | — |
| 2012 | UEFA U19 Championship | Norway U19 | 5 | 4 | 380 | 0 | — | 1 | 0 | — |
| 2011 | UEFA U17 Championship | Norway U17 | 5 | 5 | 423 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Calf Injury | 11 Dec 2017 | 5 Jan 2018 | 25 |
| Thigh Injury | 25 Nov 2017 | 30 Nov 2017 | 5 |
| Knock | 16 May 2017 | 31 May 2017 | 15 |
| Knock | 23 Feb 2017 | 10 Mar 2017 | 15 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Eliteserien (Norway) | 2015 | Winner |
| Eliteserien (Norway) | 2014 | 2nd Place |
| Eliteserien (Norway) | 2013 | 2nd Place |
| NM Cupen (Norway) | 2015 | Winner |
| NM Cupen (Norway) | 2013 | 2nd Place |
