我有一個名爲Data的表。SQL根據條件添加值然後跳過兩個和數
Data Year Type Value 1 1 5 1 1 10 1 2 15 1 2 25 1 1 15 1 2 20 1 1 5 2 2 10 2 2 45 2 2 10 2 1 20 2 2 5 2 1 15 2 1 0
我想每年總和一切是1型(SUM1)和總結一切是2型(SUM2),然後通過SUM2和組的結果由年劃分SUM1。對於第一年將是sum1 =(5 + 10 + 15 + 5 = 35),sum2 =(15 + 25 + 20 = 60),sum1(35)/ sum(60)= 0.58333。完整的輸出將
Year Value 1 0.5833 2 0.5
我曾嘗試下面的查詢,但它不工作。 SELECT d.Year, a.Sum1/b.Sum2 FROM Data d, (SELECT Data.Year, SUM(Value) AS Sum1 FROM Data WHERE Type=1 GROUP BY Data.Year) a, (SELECT Data.Year, SUM(Value) AS Sum2 FROM Data WHERE Type=2 GROUP BY Data.Year) b GROUP BY d.Year
當我運行查詢時,我得到You tried to execute a query that does not include the specified expression 'a.Sum1/b.Sum2' as part of an aggregate function.
它是什麼我做錯了我的查詢?
只存在1型和2型。您的查詢提到類型4.它是一個錯字錯誤? – shubhamagiwal92
是的,這是一個錯字,我現在更新了這篇文章。 – g3blv