Tôi sợ rằng tôi không có MariaDB trong tay, nhưng bạn có thể thử cách sau chỉ để xem cách các biến người dùng được xuất:-
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
CHỈNH SỬA - Thực hiện một chút điều tra khi xem kết quả của bạn, có vẻ như MariaDB đã bỏ qua ORDER BY trong truy vấn phụ. Do đó, số thứ tự theo thứ tự ngẫu nhiên và cũng được đặt lại khi pid thay đổi (nó thực hiện ngẫu nhiên do thứ tự không được cố định). Một chút của google và có vẻ như đây là một tính năng có chủ ý của MariaDB. Tiêu chuẩn SQL định nghĩa một bảng là một tập hợp các hàng không có thứ tự và một lựa chọn phụ được coi là một bảng do đó thứ tự theo bị bỏ qua - https://kb.askmonty.org/en/why-is-order-by-in-a-from-subquery -ignored / .
Đó là một chút thiệt thòi. Không chắc là có công việc xung quanh vì tôi không thể nghĩ ra vào lúc này. Đối với vấn đề ban đầu mà vấn đề này phải giải quyết, tôi nghĩ rằng cần phải sử dụng các lựa chọn phụ tương quan có thể sẽ không hiệu quả.