Jeg er bange for, at jeg ikke har MariaDB ved hånden, men kunne du prøve følgende bare for at se, hvordan brugervariablerne udlæses:-
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 - Når man undersøger dine resultater lidt, ser det ud til, at MariaDB har ignoreret ORDER BY i underforespørgslen. Derfor er sekvensnummeret i en tilfældig rækkefølge og nulstilles også, når pid'en ændres (hvilket det gør tilfældigt, fordi rækkefølgen ikke er fastsat). Lidt af en google, og det ser ud til, at dette er et bevidst træk ved MariaDB. SQL-standarden definerer en tabel som et uordnet sæt rækker, og et undervalg behandles som en tabel, derfor ignoreres rækkefølgen efter - https://kb.askmonty.org/en/why-is-order-by-in-a-from-subquery -ignoreret/ .
Det er lidt af en ulempe. Jeg er ikke sikker på, at der er noget, som jeg ikke kan komme i tanke om i øjeblikket. For det oprindelige problem, som dette skulle håndtere, tror jeg, at det ville være nødvendigt at bruge korrelerede undervalg, som sandsynligvis ikke ville være effektive.