India and Australia are currently levelled on 1,82,881 runs from 841 (a world record) and 825 matches respectively. Australia though have far better winning percentage, having won 505 matches as against 423 of India.
Pakistan are at the third spot among countries which have scored most ODI runs with 1,71,982 from 807 matches, followed by Sri Lanka on 146365 and the West Indies on 145260.
India are likely to remain on top for some time as they play five ODIs against New Zealand after the three-match South Africa series. Australia, on the other hand, play five ODIs against England after the Ashes series.
Dhoni has so far scored 5213 runs from 151 matches as captain and he is just 26 runs behind Mohammed Azharuddin who has 5239 runs from 174 ODIs as skipper.
If India sweep the three-match ODI series against South Africa, then Dhoni will also go past Azharuddin as the India captain who has won most number of ODI matches under his charge. Under Azharuddin's captaincy, India won 90 matches as against 88 under Dhoni's skippership so far.