Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ग्रुप बाय स्टेटमेंट वाले इनर जॉइन क्वेश्चन के साथ काउंटर के रूप में यूजर वेरिएबल का उपयोग कैसे करें?

मुझे यकीन नहीं है कि आपका परिणाम matches . से कैसे संबंधित है टेबल,

आप वापस जोड़ सकते हैं WHERE / INNER JOIN यदि आपको आवश्यकता हो तो खंड।

यह रहा fiddle का लिंक

और अंतिम पुनरावृत्ति आपकी टिप्पणियों के अनुसार:

और यहाँ एक प्रश्न है:

SET @user:=0;

select  d.user_id,
        sum(case when d.result = 1 then 1 else 0 end) as winnings, 
        sum(case when d.result = 2 then 1 else 0 end) as loses,
        sum(case when d.result = 1 then d.odd_value else 0 end) as points,
        f.bonus
FROM odds d
    INNER JOIN
    (
      SELECT  
            user_id,SUM(bonus) AS bonus
        FROM
        (
          SELECT 
            user_id,
            CASE WHEN result=1 and @counter<5 AND @user=user_id THEN @counter:[email protected]+1 

                 WHEN result=1 and @counter=5 AND @user=user_id THEN @counter:=1 

                 WHEN result=1 and @user<>user_id THEN @counter:=1 
                 ELSE 
                 @counter:=0 
            END AS F1,
            @user:=user_id,
            CASE WHEN @counter=5 THEN 1 ELSE 0 END AS bonus 
          FROM odds o
          ORDER BY user_id , match_id         
        ) Temp
        group by user_id
        )as f on f.user_id = d.user_id
      group by d.user_id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैसकल ट्रांजैक्शन:कमिट और रोलबैक

  2. दो तालिकाओं के बीच जुड़ने में सबसे पुराना रिकॉर्ड खोजें

  3. जावास्क्रिप्ट से डेटा को mysql डेटाबेस में भेजें

  4. mysql सीमांकक त्रुटि

  5. देखने पर मैसकल इंडेक्स काम नहीं कर रहा है