Het klinkt alsof je van 3 totaal verschillende en niet gerelateerde waardes, de hoogste waarde wilt hebben. Daar heb je dan dus logischerwijs ook 3 (sub-) queries voor nodig.
Hou het eenvoudig en maak 3 aparte queries die van iedere kolom de hoogste waarde opvragen. Lekker simpel en werkt prima.
LIMIT 3 heb je niet nodig, MAX() levert (per groep) maar 1 resultaat op.
1. Je hebt geld die je binnen krijgt via donaties deze worden opgeslagen in de rij "ontvangen"
2. Je hebt geld die je binnen krijgt via verkopen deze worden opgeslagen in de rij "verkopen"
3. je hebt geld die terug weggaat door uitgaven deze worden opgeslagen in de rij "uitgaven"
Nu wil ik weten waaraan de 3 hoogste bedragen besteed zijn (is het hoogste getal een donatie/verkoop/uitgave). Dus moet ik weten wat de 3 hoogste getallen in de database zijn en in welke rij ze zich bevinden.
Dit had ik willen bereiken. Maar daar bestaat dus blijkbaar geen functie voor. Dat weet ik dan ook weer.