我有一个名为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