【发布时间】:2010-02-28 00:16:46
【问题描述】:
所以我得到了这个声明,它工作正常:
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
但是,它给了我一个错误提示:
“comn 'biological.medication_dose' 在选择列表中无效,因为它既不包含在聚合函数或 GROUP BY 子句中。”。
所以我尝试将 drug_dose 添加到 GROUP BY 子句中,但随后它给了我不想要的额外行。 我想获得表中每种药物的最新行。 (最新行由max函数确定,获取最新日期)。
我该如何解决这个问题?
【问题讨论】:
-
看起来 OP 正在使用 SQL Server。
-
Visual Studio 2008 用 c# 编码使用的一种。我觉得是sql server吧?
标签: sql sql-server tsql group-by