Temo di non avere MariaDB a portata di mano, ma potresti provare quanto segue solo per vedere come vengono emesse le variabili utente:-
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 - Facendo un po' di indagine guardando i tuoi risultati, sembra che MariaDB abbia ignorato ORDER BY nella sottoquery. Quindi il numero di sequenza è in un ordine casuale e si azzera anche quando il pid cambia (cosa che accade in modo casuale perché l'ordine non viene corretto). Un po' su Google e sembra che questa sia una caratteristica deliberata di MariaDB. Lo standard SQL definisce una tabella come un insieme non ordinato di righe e una selezione secondaria viene trattata come una tabella, quindi l'ordine per viene ignorato - https://kb.askmonty.org/en/perché-è-ordinato-per-in-a-da-sottoquery -ignorato/ .
È un po' uno svantaggio. Non sono sicuro che ci sia un lavoro in giro perché non riesco a pensarne uno al momento. Per il problema originale che questo doveva affrontare, penso che sarebbe necessario utilizzare selezioni secondarie correlate che probabilmente non sarebbero efficienti.