डर है कि मेरे पास मारियाडीबी हाथ नहीं है, लेकिन क्या आप यह देखने के लिए निम्न कोशिश कर सकते हैं कि उपयोगकर्ता चर कैसे आउटपुट होते हैं:-
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
संपादित करें - आपके परिणामों को देखते हुए थोड़ी जांच करने से ऐसा लगता है कि मारियाडीबी ने उप क्वेरी में ऑर्डर द्वारा अनदेखा कर दिया है। इसलिए अनुक्रम संख्या एक यादृच्छिक क्रम में है, और जब पिड बदलता है (जो यह क्रम तय नहीं होने के कारण यादृच्छिक रूप से करता है) भी रीसेट हो जाता है। एक Google का बिट और ऐसा लगता है कि यह मारियाडीबी की एक जानबूझकर विशेषता है। SQL मानक एक तालिका को पंक्तियों के एक अनियंत्रित सेट के रूप में परिभाषित करता है, और एक उप चयन को एक तालिका के रूप में माना जाता है, इसलिए क्रम को अनदेखा कर दिया जाता है - https://kb.askmonty.org/hi/why-is-order-by-in-a-from-subquery -अनदेखा/ ।
यह थोड़ा नुकसान है। सुनिश्चित नहीं है कि कोई कामकाज है क्योंकि मैं इस समय एक के बारे में नहीं सोच सकता। मूल समस्या से निपटने के लिए मुझे लगता है कि सहसंबद्ध उप चयनों का उपयोग करना आवश्यक होगा जो शायद कुशल नहीं होंगे।