Obávám se, že nemám po ruce MariaDB, ale mohl byste zkusit následující, abyste viděli, jak jsou výstupní uživatelské proměnné:-
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
UPRAVIT – Při pohledu na vaše výsledky se zdá, že MariaDB ignorovala ORDER BY v dílčím dotazu. Pořadové číslo je tedy v náhodném pořadí a také se resetuje, když se změní pid (což se děje náhodně, protože pořadí není pevně stanoveno). Trochu google a zdá se, že je to záměrná funkce MariaDB. Standard SQL definuje tabulku jako neuspořádanou sadu řádků a dílčí výběr je považován za tabulku, takže pořadí podle je ignorováno - https://kb.askmonty.org/en/why-is-order-by-in-a-from-subquery -ignorováno/ .
Je to trochu nevýhoda. Nejsem si jistý, zda existuje nějaké řešení, protože mě v tuto chvíli nenapadá. Pro původní problém, kterým se toto mělo zabývat, si myslím, že by bylo nutné použít korelované dílčí výběry, což by pravděpodobně nebylo efektivní.