Sanath Jayasuriya has amassed 13,430 runs in 445 ODI matches, yet holds the record for the most ducks in the format, having been dismissed without scoring 34 times.
Shahid Afridi scored 8,064 runs in 398 ODI matches, while also holding the record for the second-most ducks in the format, with 30 dismissals without scoring.
Wasim Akram tallied 3,717 runs in 356 ODI matches, achieving the unfortunate distinction of being dismissed for a duck 28 times, placing him third on this list.
Mahela Jayawardene scored 12,650 runs in 448 ODI matches, but also recorded 28 ducks, making him one of the players with the most ducks in ODI history.
Lasith Malinga registered 26 ducks and hence finds himself fifth on this list.
One of the greatest-ever spinners of cricket, Muttiah Muralitharan scored 674 runs across 350 ODI matches, but registered 25 ducks.
In a career spanning 322 ODI matches, Vaas managed to score only 50 runs while facing the disappointment of 25 ducks.
Chris Gayle amassed 10,480 runs in 301 ODI matches while also registering 25 ducks.
Romesh Kaluwitharana scored 3,711 runs in 189 ODI matches, with 24 ducks to his name.
Daniel Vettori scored 2,253 runs in 295 ODI matches, but his career also featured 23 ducks in an ODI Career.