Takut saya tidak memiliki MariaDB, tetapi bisakah Anda mencoba yang berikut ini hanya untuk melihat bagaimana variabel pengguna ditampilkan:-
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 - Melakukan sedikit penyelidikan melihat hasil Anda, tampaknya MariaDB telah mengabaikan ORDER BY di sub kueri. Oleh karena itu nomor urut dalam urutan acak, dan juga diatur ulang ketika pid berubah (yang dilakukannya secara acak karena urutannya tidak diperbaiki). Sedikit google dan sepertinya ini adalah fitur yang disengaja dari MariaDB. Standar SQL mendefinisikan tabel sebagai kumpulan baris yang tidak berurutan, dan sub-pilihan diperlakukan sebagai tabel sehingga urutannya diabaikan - https://kb.askmonty.org/en/why-is-order-by-in-a-from-subquery -diabaikan/ .
Ini adalah sedikit kerugian. Tidak yakin ada pekerjaan di sekitar karena saya tidak bisa memikirkannya saat ini. Untuk masalah awal yang harus dihadapi, saya pikir perlu menggunakan sub-pilihan yang berkorelasi yang mungkin tidak akan efisien.