SELECT R.CALL,
P.NAME,
R.PID,
TIMESTAMPDIFF(4, CHAR(TIMESTAMP(M.ENDTIME) - TIMESTAMP(M.START))) AS MINUTES
FROM ROSTER R, PLAYER_ON P, MATCH M
WHERE R.CALL = P.CALL
AND R.PID = P.PID
AND M.START = R.START
ORDER BY R.CALL ASC, P.NAME ASC
上面是我的查詢,我成功地從數據庫中獲取了所需的列。SQL查詢如何在表中按名稱分組
但是我還有一步要走。 用於查詢的樣本輸出是這樣的: Output
我的問題是:我怎麼通過名稱總結總分鐘數組,例如,愛德華·埃利斯將與總分鐘出現在輸出中只有一次573 + 4933 。
這裏是我的嘗試:
SELECT CALL,
NAME,
PID,
SUM(MINUTES)
FROM (
SELECT R.CALL,
P.NAME,
R.PID,
TIMESTAMPDIFF(4, CHAR(TIMESTAMP(M.ENDTIME) - TIMESTAMP(M.START))) AS MINUTES
FROM ROSTER R, PLAYER_ON P, MATCH M
WHERE R.CALL = P.CALL
AND R.PID = P.PID
AND M.START = R.START)
GROUP BY NAME
但有一個錯誤說:
SQL0119N的表達式開始 「PID」 在SELECT子句, HAVING子句或ORDER BY指定子句未在GROUP BY子句或 中指定,它位於SELECT子句,HAVING子句或ORDER BY子句中,其列 函數並且沒有指定GROUP BY子句。 SQLSTATE = 42803
有人可以幫忙嗎?
您應該用正在使用的數據庫標記問題。 –