How many times have the top three scored hundreds in an ODI like Australia's did in Mackay?
And does Sunil Gavaskar hold the record for scoring the lowest percentage of career runs in wins?

Australia's top three scoring hundreds in Mackay was only the second time in ODIs that Nos. 1-3 had all chipped in with centuries • Getty Images
By scoring 88 against Australia in Mackay last week, South Africa's Matthew Breetzke became the first man to reach 50 in all of his first four one-day internationals: he started with 150 against New Zealand in Lahore in February, added 83 against Pakistan two days later, and then started last week with 57 against Australia in Cairns.
Australia's huge total of 431 for 2 against South Africa in Mackay last weekend included 142 from Travis Head, a round 100 by captain Mitchell Marsh, and an unbeaten 118 from Cameron Green. It was the fifth ODI innings to contain three centuries, but only the second time these had come from the top three in the order, after South Africa (439 for 2) against West Indies in Johannesburg in 2015, when Hashim Amla made 153 not out, Rilee Rossouw 128 and AB de Villiers 149 from 44 balls at No. 3. De Villiers' century needed only 31 deliveries, the ODI record: Green's 47-ball ton in Mackay puts him joint 11th on that list.
Sam Konstas made his Test debut for Australia in Melbourne last year at 19: unusually, there was no one in their twenties in that Australian side; the next youngest was Marnus Labuschagne, who was 30 at the time.
You're right that only 1671 of Sunil Gavaskar's 10,122 Test runs came in victories. That's 16.51%, which actually isn't too bad for a time when India won rather less often than they do now. Among those who scored 3000 Test runs, there are 11 men whose percentage in wins is lower than Gavaskar's: they include four other Indians - Vijay Manjrekar (270 out of 3208, or 8.42%), Polly Umrigar (456/3631, 12.56%), Ravi Shastri (492/3830, 12.85%) and Chandu Borde (504/3061, 16.47%).
The leader here is a current player, although he's out of favour at the moment and so might not get the chance to add to his tally. The West Indian opener Kraigg Brathwaite has taken 29 Test wickets so far, all of them different batters.
Steven Lynch is the editor of the updated edition of Wisden on the Ashes