我拿到了这个语句,它可以正常工作:
SELECT MAX(patient_history_date_bio) AS med_date, medication_name
FROM biological
WHERE patient_id = 12)
GROUP BY medication_name
但是,我也想要相应的药物剂量。因此,我打出了以下内容:
SELECT MAX(patient_history_date_bio) AS med_date, medication_name, medication_dose
FROM biological
WHERE (patient_id = 12)
GROUP BY medication_name
但是,它给了我一个错误提示:
“在选择列表中,'biological.medication_dose'列无效,因为它既不包含聚合函数也不包含GROUP BY子句。”
所以我尝试将medication_dose添加到GROUP BY子句中,但这会给我带来额外的行,而我并不想要这些行。我想在我的表中为每种药物获取最新的行。(最新的行由max函数确定,获取最新的日期)。
怎么解决这个问题?