含有每期間最大得分表I有一個這樣的表:SQLite的:由USER
USER PERIOD SCORE
A 1 8
A 1 9
A 2 2
A 2 3
A 3 4
A 3 5
B 1 2
B 1 3
B 2 5
B 2 4
B 3 4
B 3 4
C 1 2
C 1 3
C 2 3
C 2 5
C 3 3
C 3 4
我需要計算每用戶期間的平均得分,所以我需要一個錶轉換成這種
USER PERIOD SCORE
A 1 8.5
A 2 2.5
A 3 4.5
B 1 2.5
B 2 4.5
B 3 4
C 1 2.5
C 2 4
C 3 3.5
然後終於,我需要創建一個表,只有在每一個時期的最高得分和相應的用戶,這樣
USER PERIOD SCORE
A 1 8.5
B 2 4.5
A 3 4.5
我可以通過創建兩個表來做到這一點,但我希望成爲一個奇特的查詢者,並一步完成所有工作。任何指針?這是我的查詢到目前爲止:
CREATE TABLE STEP1 AS SELECT
USER
,PERIOD
,AVG(SCORE) AS SCORE
FROM STEP0
GROUP BY 1,2
;
CREATE TABLE STEP2 AS SELECT
PERIOD
,MAX(SCORE) AS SCORE
FROM STEP1
GROUP BY 1
;
CREATE TABLE FINAL AS SELECT
A.USER
,B.PERIOD
,B.SCORE
FROM STEP1 A
JOIN STEP2 B
ON A.SCORE=B.SCORE
;
我使用SQLite數據庫瀏覽器,但如果我問能不能用它來完成,即我們需要一個功能沒有的SQLite數據庫瀏覽器可用,我可以使用其他SQL應用程序。
有一種可能性,讓多個用戶對同一時期在最後的表,如果他們已經取得最大在一起.. – Esty