Includes finals, playoffs and exhibition games, so totals run higher than regular-season figures.
| Season | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 Atp tourUnited States | 19 | 8 | 26 | 32 | 272 | 290 | 12 | 117 | 56 | 1,823 | 1,063 | 752 | 365 | 273 | 98 | 159 | 1,747 | 635 | 57 | 137 | 9 | 6 | 1 | 2,593 |
| Game | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Shanghai: Round of 128 v Yibing WuL 0-2 7 Oct | 0 | 0 | 2 | 9 | 13 | 1 | 6 | 1 | 70 | 38 | 25 | 18 | 10 | 2 | 3 | 69 | 19 | 0 | 2 | – | 1 | – | 102 |
| Hangzhou: Round of 32 v Bu Y.L 0-2 23 Sept | 0 | 0 | 2 | 7 | 12 | 0 | 2 | 2 | 53 | 32 | 22 | 10 | 9 | 3 | 6 | 59 | 17 | 1 | 7 | – | – | – | 88 |
| US Open: Round of 32 v Arthur GeaL 2-3 23 Aug | 0 | 2 | 3 | 23 | 26 | 1 | 7 | 6 | 174 | 79 | 51 | 48 | 24 | 17 | 24 | 150 | 55 | 6 | 10 | 1 | – | – | 237 |
| US Open: Round of 64 v Bu Y.W 3-1 23 Aug | 1 | 3 | 1 | 20 | 14 | 0 | 13 | 5 | 99 | 52 | 43 | 24 | 17 | 4 | 7 | 107 | 46 | 6 | 11 | 1 | – | – | 155 |
| US Open: Round of 128 v Fabian MarozsanW 3-0 23 Aug | 1 | 3 | 0 | 18 | 10 | 0 | 9 | 2 | 83 | 39 | 36 | 22 | 14 | 5 | 6 | 87 | 37 | 5 | 8 | 1 | – | – | 112 |
| Cincinnati: Round of 32 v Lorenzo MusettiL 0-2 13 Aug | 0 | 0 | 2 | 4 | 12 | 0 | 1 | 4 | 49 | 23 | 16 | 7 | 8 | 5 | 10 | 46 | 16 | 1 | 3 | – | 1 | – | 71 |
| Cincinnati: Round of 64 v Ugo HumbertW 2-0 13 Aug | 1 | 2 | 0 | 12 | 7 | 0 | 4 | 3 | 57 | 34 | 25 | 13 | 9 | 1 | 1 | 62 | 28 | 3 | 7 | – | 1 | – | 83 |
| Cincinnati: Round of 128 v Fabian MarozsanW 2-1 13 Aug | 1 | 2 | 1 | 16 | 13 | 1 | 7 | 6 | 86 | 48 | 40 | 20 | 14 | 4 | 6 | 90 | 36 | 3 | 4 | – | 1 | – | 120 |
| Montreal: Round of 128 v Miomir KecmanovicL 1-2 2 Aug | 0 | 1 | 2 | 16 | 17 | 1 | 7 | 6 | 110 | 67 | 48 | 19 | 16 | 4 | 8 | 128 | 54 | 4 | 15 | – | 1 | – | 167 |
| Los Cabos: Round of 16 v Arthur GeaL 1-2 28 July | 0 | 1 | 2 | 10 | 12 | 0 | 2 | 5 | 80 | 36 | 24 | 18 | 11 | 6 | 11 | 64 | 27 | 4 | 8 | – | – | – | 115 |
| Los Cabos: Round of 32 v Martin LandaluceW 2-0 28 July | 1 | 2 | 0 | 12 | 7 | 0 | 0 | 2 | 66 | 32 | 26 | 14 | 10 | 5 | 7 | 66 | 33 | 4 | 10 | – | – | – | 101 |
| Wimbledon: Round of 32 v Felix Auger AliassimeL 0-3 29 June | 0 | 0 | 3 | 9 | 19 | 1 | 4 | 1 | 85 | 54 | 31 | 18 | 14 | 5 | 10 | 75 | 16 | 0 | 2 | 1 | – | – | 115 |
| Wimbledon: Round of 64 v Nicolas MejiaW 3-1 29 June | 1 | 3 | 1 | 25 | 18 | 2 | 20 | 3 | 151 | 97 | 77 | 27 | 20 | 12 | 12 | 133 | 49 | 4 | 8 | 1 | – | – | 232 |
| Wimbledon: Round of 128 v Cameron NorrieW 3-2 29 June | 1 | 3 | 2 | 31 | 25 | 3 | 21 | 4 | 180 | 111 | 88 | 37 | 27 | 5 | 6 | 187 | 69 | 4 | 13 | 1 | – | – | 245 |
| French Open: Round of 128 v Dino PrizmicL 0-3 24 May | 0 | 0 | 3 | 5 | 18 | 0 | 3 | 2 | 63 | 34 | 18 | 9 | 11 | 3 | 10 | 72 | 21 | 1 | 5 | 1 | – | – | 106 |
| Indian Wells: Round of 128 v Vit KoprivaL 0-2 4 Mar | 0 | 0 | 2 | 11 | 14 | 1 | 1 | 2 | 99 | 65 | 37 | 12 | 12 | 5 | 10 | 83 | 35 | 4 | 8 | – | 1 | – | 130 |
| Dallas: Round of 32 v Sebastian KordaL 0-2 9 Feb | 0 | 0 | 2 | 7 | 12 | 0 | 3 | 1 | 60 | 46 | 30 | 8 | 9 | 6 | 8 | 51 | 10 | 0 | 1 | – | – | – | 69 |
| Australian Open: Round of 64 v Corentin MoutetL 1-2 18 Jan | 0 | 1 | 2 | 10 | 17 | 0 | 3 | 1 | 84 | 61 | 36 | 7 | 14 | 0 | 7 | 76 | 27 | 3 | 7 | 1 | – | 1 | 121 |
| Australian Open: Round of 128 v Sebastian KordaW 3-2 18 Jan | 1 | 3 | 2 | 27 | 24 | 1 | 4 | 0 | 174 | 115 | 79 | 34 | 24 | 6 | 7 | 142 | 40 | 4 | 8 | 1 | – | – | 224 |
| Split | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LossesResult | 11 | 0.0 | 0.5 | 2.3 | 10.1 | 15.6 | 0.5 | 3.5 | 2.8 | 84.3 | 48.6 | 30.7 | 15.8 | 12.5 | 5.1 | 9.7 | 79.4 | 27.0 | 2.2 | 6.2 | 0.4 | 0.4 | 0.1 | 120 |
| WinsResult | 8 | 1.0 | 2.6 | 0.9 | 20.1 | 14.8 | 0.9 | 9.8 | 3.1 | 112 | 66.0 | 51.8 | 23.9 | 16.9 | 5.3 | 6.5 | 109 | 42.3 | 4.1 | 8.6 | 0.6 | 0.3 | – | 159 |
| Regular seasonStage · won 8 of 19 | 19 | 0.4 | 1.4 | 1.7 | 14.3 | 15.3 | 0.6 | 6.2 | 2.9 | 95.9 | 55.9 | 39.6 | 19.2 | 14.4 | 5.2 | 8.4 | 91.9 | 33.4 | 3.0 | 7.2 | 0.5 | 0.3 | 0.1 | 136 |
| Arthur GeaOpponent · won 0 of 2 | 2 | 0.0 | 1.5 | 2.5 | 16.5 | 19.0 | 0.5 | 4.5 | 5.5 | 127 | 57.5 | 37.5 | 33.0 | 17.5 | 11.5 | 17.5 | 107 | 41.0 | 5.0 | 9.0 | 0.5 | – | – | 176 |
| Bu Y.Opponent · won 1 of 2 | 2 | 0.5 | 1.5 | 1.5 | 13.5 | 13.0 | 0.0 | 7.5 | 3.5 | 76.0 | 42.0 | 32.5 | 17.0 | 13.0 | 3.5 | 6.5 | 83.0 | 31.5 | 3.5 | 9.0 | 0.5 | – | – | 122 |
| Fabian MarozsanOpponent · won 2 of 2 | 2 | 1.0 | 2.5 | 0.5 | 17.0 | 11.5 | 0.5 | 8.0 | 4.0 | 84.5 | 43.5 | 38.0 | 21.0 | 14.0 | 4.5 | 6.0 | 88.5 | 36.5 | 4.0 | 6.0 | 0.5 | 0.5 | – | 116 |
| Sebastian KordaOpponent · won 1 of 2 | 2 | 0.5 | 1.5 | 2.0 | 17.0 | 18.0 | 0.5 | 3.5 | 0.5 | 117 | 80.5 | 54.5 | 21.0 | 16.5 | 6.0 | 7.5 | 96.5 | 25.0 | 2.0 | 4.5 | 0.5 | – | – | 147 |
| Cameron NorrieOpponent · won 1 of 1 | 1 | 1.0 | 3.0 | 2.0 | 31.0 | 25.0 | 3.0 | 21.0 | 4.0 | 180 | 111 | 88.0 | 37.0 | 27.0 | 5.0 | 6.0 | 187 | 69.0 | 4.0 | 13.0 | 1.0 | – | – | 245 |
| Corentin MoutetOpponent · won 0 of 1 | 1 | 0.0 | 1.0 | 2.0 | 10.0 | 17.0 | 0.0 | 3.0 | 1.0 | 84.0 | 61.0 | 36.0 | 7.0 | 14.0 | 0.0 | 7.0 | 76.0 | 27.0 | 3.0 | 7.0 | 1.0 | – | 1.0 | 121 |
| Dino PrizmicOpponent · won 0 of 1 | 1 | 0.0 | 0.0 | 3.0 | 5.0 | 18.0 | 0.0 | 3.0 | 2.0 | 63.0 | 34.0 | 18.0 | 9.0 | 11.0 | 3.0 | 10.0 | 72.0 | 21.0 | 1.0 | 5.0 | 1.0 | – | – | 106 |
| Felix Auger AliassimeOpponent · won 0 of 1 | 1 | 0.0 | 0.0 | 3.0 | 9.0 | 19.0 | 1.0 | 4.0 | 1.0 | 85.0 | 54.0 | 31.0 | 18.0 | 14.0 | 5.0 | 10.0 | 75.0 | 16.0 | 0.0 | 2.0 | 1.0 | – | – | 115 |
| Lorenzo MusettiOpponent · won 0 of 1 | 1 | 0.0 | 0.0 | 2.0 | 4.0 | 12.0 | 0.0 | 1.0 | 4.0 | 49.0 | 23.0 | 16.0 | 7.0 | 8.0 | 5.0 | 10.0 | 46.0 | 16.0 | 1.0 | 3.0 | – | 1.0 | – | 71.0 |
| Martin LandaluceOpponent · won 1 of 1 | 1 | 1.0 | 2.0 | 0.0 | 12.0 | 7.0 | 0.0 | 0.0 | 2.0 | 66.0 | 32.0 | 26.0 | 14.0 | 10.0 | 5.0 | 7.0 | 66.0 | 33.0 | 4.0 | 10.0 | – | – | – | 101 |
| Miomir KecmanovicOpponent · won 0 of 1 | 1 | 0.0 | 1.0 | 2.0 | 16.0 | 17.0 | 1.0 | 7.0 | 6.0 | 110 | 67.0 | 48.0 | 19.0 | 16.0 | 4.0 | 8.0 | 128 | 54.0 | 4.0 | 15.0 | – | 1.0 | – | 167 |
| Nicolas MejiaOpponent · won 1 of 1 | 1 | 1.0 | 3.0 | 1.0 | 25.0 | 18.0 | 2.0 | 20.0 | 3.0 | 151 | 97.0 | 77.0 | 27.0 | 20.0 | 12.0 | 12.0 | 133 | 49.0 | 4.0 | 8.0 | 1.0 | – | – | 232 |
| Ugo HumbertOpponent · won 1 of 1 | 1 | 1.0 | 2.0 | 0.0 | 12.0 | 7.0 | 0.0 | 4.0 | 3.0 | 57.0 | 34.0 | 25.0 | 13.0 | 9.0 | 1.0 | 1.0 | 62.0 | 28.0 | 3.0 | 7.0 | – | 1.0 | – | 83.0 |
| Vit KoprivaOpponent · won 0 of 1 | 1 | 0.0 | 0.0 | 2.0 | 11.0 | 14.0 | 1.0 | 1.0 | 2.0 | 99.0 | 65.0 | 37.0 | 12.0 | 12.0 | 5.0 | 10.0 | 83.0 | 35.0 | 4.0 | 8.0 | – | 1.0 | – | 130 |
| Yibing WuOpponent · won 0 of 1 | 1 | 0.0 | 0.0 | 2.0 | 9.0 | 13.0 | 1.0 | 6.0 | 1.0 | 70.0 | 38.0 | 25.0 | 18.0 | 10.0 | 2.0 | 3.0 | 69.0 | 19.0 | 0.0 | 2.0 | – | 1.0 | – | 102 |
| HardGround · won 6 of 15 | 15 | 0.4 | 1.3 | 1.5 | 13.5 | 14.0 | 0.4 | 4.6 | 3.1 | 89.6 | 51.1 | 35.9 | 18.3 | 13.4 | 4.9 | 8.1 | 85.3 | 32.0 | 3.2 | 7.3 | 0.3 | 0.4 | 0.1 | 126 |
| GrassGround · won 2 of 3 | 3 | 0.7 | 2.0 | 2.0 | 21.7 | 20.7 | 2.0 | 15.0 | 2.7 | 139 | 87.3 | 65.3 | 27.3 | 20.3 | 7.3 | 9.3 | 132 | 44.7 | 2.7 | 7.7 | 1.0 | – | – | 197 |
| ClayGround · won 0 of 1 | 1 | 0.0 | 0.0 | 3.0 | 5.0 | 18.0 | 0.0 | 3.0 | 2.0 | 63.0 | 34.0 | 18.0 | 9.0 | 11.0 | 3.0 | 10.0 | 72.0 | 21.0 | 1.0 | 5.0 | 1.0 | – | – | 106 |
Wins-losses for Zheng. Tap a rival for the full head to head.
Stats from official league and public sports feeds. Updated hourly. Tennis history by Jeff Sackmann / Tennis Abstract (CC BY-NC-SA 4.0).