Sql 错误979:不是GROUP BY表达式
尝试返回上次联系日期时出错Sql 错误979:不是GROUP BY表达式,sql,oracle-sqldeveloper,Sql,Oracle Sqldeveloper,尝试返回上次联系日期时出错 SELECT CDC.pat_id, MAX(SOC.contact_date), FROM hb61.cdcsaar_patients CDC JOIN clarity.social_hx SOC ON CDC.pat_id=SOC.pat_id LEFT OUTER JOIN clarity.smoking_cess_hx CESS ON CDC.pat_id=CESS.pat_id LEFT OUTER JOIN clarity.social_hx_alc_u
SELECT CDC.pat_id, MAX(SOC.contact_date),
FROM hb61.cdcsaar_patients CDC
JOIN clarity.social_hx SOC ON CDC.pat_id=SOC.pat_id
LEFT OUTER JOIN clarity.smoking_cess_hx CESS ON CDC.pat_id=CESS.pat_id
LEFT OUTER JOIN clarity.social_hx_alc_use ALC on CDC.pat_id=ALC.pat_id
GROUP BY SOC.contact_date
;
您需要将所选列(在本例中为CDC.pat_id)放在GROUP BY子句上,而不是应用聚合函数的列
SELECT
CDC.pat_id,
MAX(SOC.contact_date)
FROM
hb61.cdcsaar_patients CDC
JOIN clarity.social_hx SOC ON CDC.pat_id = SOC.pat_id
LEFT OUTER JOIN clarity.smoking_cess_hx CESS ON CDC.pat_id = CESS.pat_id
LEFT OUTER JOIN clarity.social_hx_alc_use ALC on CDC.pat_id = ALC.pat_id
GROUP BY
CDC.pat_id;
您需要将未应用聚合函数的任何列放入GROUP BY子句中(在本例中为
CDC.pat\u id
,而不是SOC.contact\u date
)