计算日期范围内参与的小时数总和

Make the sum of the hours participated in the date range

借助一些辅助工具,我能够完成这个 selection,但我需要添加时间而不是重复学生,并且当学生没有参加该日期范围时显示零结果:

**students TABLE**

s_id
s_laname
s_mname
s_fname
s_grupo

**horas TABLE**

id
s_id
horas
fecha
grupo


SELECT students.s_lname, horas.horas 
FROM students 
LEFT JOIN horas ON students.s_id=horas.s_id 
       and horas.fecha >= '2020-11-01' 
       AND horas.fecha <= '2020-11-30' 
       AND horas.horas >'0' 
WHERE students.s_grupo IN('11')

这是我发布的 select 的结果,但我需要它来计算小时数:

s_lname   horas 
Molina      12  
Mejías      12  
Corrales    10  
Sáenz       15  
Castro      11  
Hernandez   11  
Sáenz       12  
Hernandez   6   
Hernandez   6   
Sáenz       12  
Brizuela    NULL
Vargas      NULL
Acuña       NULL
Jiménez     NULL
López.      NULL
Jimenez     NULL
Vargas      NULL
Navarro     NULL

这就是我所需要的,有总学时但没有参加过的学生填NULL或零:

s_lname   horas 
Molina      12  
Mejías      12  
Corrales    10  
Sáenz       39  
Castro      11  
Hernandez   33
Brizuela    NULL
Vargas      NULL
Acuña       NULL
Jiménez     NULL
López       NULL
Jimenez     NULL
Vargas      NULL
Navarro     NULL

听起来您可以添加不同的关键字并使用内部联接而不是左联接:

编辑:根据你的结果和你想要的结果,我猜你想总结结果,如果那是真的那么....


SELECT students.s_lname, SUM(horas.horas)
    FROM students 
    LEFT JOIN horas ON students.s_id=horas.s_id 
           and horas.fecha >= '2020-11-01' 
           AND horas.fecha <= '2020-11-30' 
           AND horas.horas >'0' 
    WHERE students.s_grupo IN('11')
    Group by students.s_id