0
我很難弄清楚如何在MySQL中編寫正確的代碼。不使用GROUP BY子句的MySQL MAX函數
這裏是我迄今爲止...
SELECT ProjectSteps.ProjectID, ProjectSteps.StepID, Step.StepName, Step.Definition
FROM ProjectSteps, Step
WHERE ProjectSteps.ProjectID =
(SELECT MAX(ProjectSteps.StepID) OVER ProjectSteps.ProjectID
FROM ProjectSteps
WHERE ProjectSteps.ProjectID IN (1, 2, 3)
)
ORDER BY ProjectSteps.ProjectID;
對於我的詢問,我有2個表
STEP (StepId, StepName, Definition)
和
ProjectSteps (StepID, ProjectId, StartingDate, EndingDate)
我得包括每個項目的最後一步的步驟和步驟定義的名稱。
由於:
Project ID StepId StepName Definition
我不能使用GROUP BY子句:(
希望有人會得到它的權利
爲什麼你不能用'組by'? 'mysql'不支持使用'over'的窗口函數。可能使用'用戶定義的變量'或者子查詢和'limit',但是爲什麼? – sgeddes
更好的問題是「爲什麼你不能使用group by?」而不是OP問題 –
因爲這是我的一個約束。 – GasFou