所以我得到了这个说法,工作正常:集团通过SQL语句
SELECT MAX(patient_history_date_bio) AS med_date, medication_name
FROM biological
WHERE patient_id = 12)
GROUP BY medication_name
不过,我想有相应的medication_dose也。所以我键入这件事
SELECT MAX(patient_history_date_bio) AS med_date, medication_name, medication_dose
FROM biological
WHERE (patient_id = 12)
GROUP BY medication_name
但是,它给了我一个错误说:
"coumn 'biological.medication_dose' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.".
所以我尽量将medication_dose到GROUP BY子句中,但随后它给了我,我不额外行不想要。 我想在我的表格中获得每种药物的最新行。 (最新一行由最大功能决定,获取最新日期)。
我该如何解决这个问题?
它看起来像OP是使用SQL Server。 – 2010-02-28 00:19:46
在c#中使用visual studio 2008编码的那个。我认为这是SQL Server的权利? – jello 2010-02-28 00:21:19
另请参阅:http://stackoverflow.com/questions/121387/sql-fetch-the-row-which-has-the-max-value-for-a-column,http://stackoverflow.com/questions/ 95866/select-max-in-group,http://stackoverflow.com/questions/612231/sql-select-rows-with-maxcolumn-value-distinct-by-another-column,和其他许多人。 – outis 2010-02-28 04:44:47