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

केस स्टेटमेंट द्वारा यूनियन को सभी SQL-SQLite क्वेरी कैसे बनाएं?

पहले आपको प्रत्येक खिलाड़ी का कुल स्कोर प्राप्त करना होगा और फिर players . से जुड़ना होगा .
फिर प्रत्येक समूह के शीर्ष खिलाड़ी को प्राप्त करने के लिए FIRST_VALUE() विंडो फ़ंक्शन का उपयोग करें:

SELECT DISTINCT p.group_id, 
       FIRST_VALUE(p.player_id) OVER (PARTITION BY p.group_id ORDER BY m.score DESC) winner_id
FROM players p
LEFT JOIN (
  SELECT player, SUM(score) score
  FROM (
    SELECT match_id, first_player player, first_score score FROM matches
    UNION ALL
    SELECT match_id, second_player, second_score FROM matches
  ) t
  GROUP BY player
) m ON m.player = p.player_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. tomcat7 - jdbc डेटा स्रोत - इससे मेमोरी लीक होने की बहुत संभावना है

  2. Mysql तालिका से अद्वितीय कुंजी कैसे निकालें

  3. क्वेरी बिल्डर सशर्त पैरामीटर

  4. स्फिंक्स खोज / MySQL सबसे सामान्य शब्द ढूंढता है

  5. कैसे तैयार बयान के साथ एक बार में एक mysql डेटाबेस में कई पंक्तियों को सम्मिलित करने के लिए?