Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SUM() na podstawie innego warunku niż SELECT

Możesz także umieścić sumę w instrukcji case, gdzie sprawa ocenia inny warunek, a następnie zsumować tylko te rekordy, dla których warunek jest prawdziwy...

  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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje konwencja nazewnictwa dla MySQL?

  2. LIKE, polecenie Mysql

  3. Zduplikowane wpisy w DB

  4. PDO — błąd krytyczny:wywołanie funkcji członkowskiej fetch() na obiekcie niebędącym obiektem

  5. SQL LIMIT zwraca 'zero' - 0 - wiersze (w PHP)