小编典典

聚合函数或GROUP BY子句

sql

我使用以下查询:

select Patients.LastName, 
  avg (PatientVisits.Pulse)as pulse,
  avg (patientvisits.depressionlevel)as depressionLevel  
from Patients 
left join PatientVisits 
   on Patients.PatientKey=PatientVisits.PatientKey

但我收到以下错误:

消息8120,级别16,状态1,行1列“ Patients.LastName”在选择列表中无效,因为它既不包含在聚合函数中也不在GROUP BY子句中。


阅读 166

收藏
2021-05-23

共1个答案

小编典典

您需要GROUP BY在查询中添加一个:

select Patients.LastName, 
   avg (PatientVisits.Pulse)as pulse,
   avg (patientvisits.depressionlevel)as depressionLevel  
from Patients 
left join PatientVisits 
  on Patients.PatientKey=PatientVisits.PatientKey 
GROUP BY Patients.LastName

SQL Server要求SELECT列表中未包含在聚合函数中的所有列都包含在中GROUP BY。由于您正在尝试Patients.LastName在汇总数据时返回,因此必须在分组依据中包括该列。

2021-05-23