sql >> Databáze >  >> RDS >> Mysql

SUM() na základě jiné podmínky než SELECT

Můžete také vložit součet do příkazu case, kde případ vyhodnocuje druhou podmínku, a pak sečíst pouze ty záznamy, kde je podmínka pravdivá...

  SELECT m.member_id, m.teamname, 
    Sum(Case When r.track_Id = '$chosentrack' 
         Then total_points Else 0 End) TotalChosenTrackPoints,
    Sum(Case When r.track_Id < '$chosentrack' 
         Then total_points Else 0 End) TotalLessThanChosenTrackPoints, 
    total_points as last_race_points  
 FROM members m
    Join members_leagues l
       On l.member_id = m.member_id  
    Join member_results r
       On r.member_id = m.member_id
 Where l.league_id = '$chosenleague'
    And l.start_race = '$chosentrack'
 Group By m.member_id
 Order By r.total_points Desc, 
     last_race_points  Desc, m.TeamName Desc  


  1. MYSQL:Dotaz na získání předchozího a dalšího ID videa?

  2. Pořadí příkazu SQL Select bez klauzule Order By

  3. Chyba mikroormu:ověření hesla pro uživatele postgres selhalo

  4. Nelze zkompilovat komponentu SSIS; Chybějící sestavení ve Visual Studiu 2008