Ik ben bang dat ik MariaDB niet bij de hand heb, maar zou je het volgende kunnen proberen om te zien hoe de gebruikersvariabelen worden uitgevoerd:-
SELECT *
FROM test_golf_player p
LEFT JOIN
(
SELECT pid, leaguepoints, @Sequence:=IF(@PrevPid = pid, @Sequence + 1, 0) AS aSequence, @PrevPid := pid
FROM
(
SELECT pid, leaguepoints
FROM test_golf_card
ORDER BY pid, leaguepoints DESC
) Sub1
CROSS JOIN (SELECT @PrevPid := 0, @Sequence := 0) Sub2
) gC
ON p.pid = gC.pid
ORDER BY p.name DESC
EDIT - Na wat onderzoek naar uw resultaten te hebben gedaan, lijkt het erop dat MariaDB de ORDER BY in de subquery heeft genegeerd. Vandaar dat het volgnummer in een willekeurige volgorde staat en ook wordt gereset wanneer de pid verandert (wat willekeurig gebeurt omdat de volgorde niet vaststaat). Beetje googlen en het lijkt erop dat dit een opzettelijke functie van MariaDB is. De SQL-standaard definieert een tabel als een ongeordende reeks rijen, en een subselectie wordt behandeld als een tabel, vandaar dat de volgorde op wordt genegeerd - https://kb.askmonty.org/en/why-is-order-by-in-a-from-subquery -genegeerd/ .
Het is een beetje een nadeel. Ik weet niet zeker of er een work around is, want ik kan er momenteel geen bedenken. Voor het oorspronkelijke probleem dat hiermee te maken had, denk ik dat het nodig zou zijn om gecorreleerde subselecties te gebruiken die waarschijnlijk niet efficiënt zouden zijn.