0
我有一個簡單的查詢,我希望獲得一些特定的結果,但不確定正確的解決方法。我使用的是SQL Server數據庫和我的查詢如下:在sql中重複屬性值
SELECT dt.year ,
db.dist_code ,
db.dist_name ,
db.s_code ,
db.s_name ,
fl.zip ,
fl.num_births ,
total_enrollment
FROM dbo.fact_enrollment_school AS fs
INNER JOIN dbo.dim_building AS db ON fs.building_key = db.building_key
INNER JOIN dbo.dim_time AS dt ON fs.time_key = dt.time_key
LEFT OUTER JOIN dbo.fact_live_birth AS fl ON dt.time_key = fl.time_key
AND db.building_key = fl.building_key
GROUP BY dt.year ,
db.dist_code ,
db.dist_name ,
db.school_code ,
db.school_name ,
fl.zip ,
total_enrollment ,
fl.num_births
我需要的是輸出num_births總額爲每district_code是一樣的。
所需的輸出:
上述接近什麼即時尋找,但即時通訊與多年,每年工作對於num_births具有不同的最大數量(例如:2007 num_births = 56,2008 num_births = 70)。當總結總數時,它總結了5年給我一個不正確的結果。 – Tone
編輯答案..是否爲你工作?你可以添加多個分區的子句的窗口函數,這可能會導致類似於在正常的聚合查詢中會有什麼樣的組合。 – user2407394
您編輯的版本具有正確的邏輯,但我的num_births仍在求和中,這會產生不正確的結果。我對over條款不是很熟悉,但是你可以在沒有總和的情況下使用over? num_births的結果不應該是一個總和。 – Tone