Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL语句-希望将每日日期汇总并显示为年份_Sql_Content Query Rollup - Fatal编程技术网

SQL语句-希望将每日日期汇总并显示为年份

SQL语句-希望将每日日期汇总并显示为年份,sql,content-query-rollup,Sql,Content Query Rollup,例如,我总结了两年的数据 日期|成分|成本|金额|成本|份额|金额| 我在看2012年和2013年两年的数据, 我想把所有的总数加起来,所以我只有两行,一行是2012年的,一行是2013年的。如何编写一个SQL语句来查看日期,但只显示4位数的年份和8位数的每日日期。我怀疑它的总和部分将通过计算这些列的总和来处理,所以我真的在寻找如何将每日日期转换为4位数年份的帮助。 非常感谢您的帮助。定义范围/分组表。 select DATEPART(year,[Date]) [Year] , sum(Ingr

例如,我总结了两年的数据

日期|成分|成本|金额|成本|份额|金额|

我在看2012年和2013年两年的数据, 我想把所有的总数加起来,所以我只有两行,一行是2012年的,一行是2013年的。如何编写一个SQL语句来查看日期,但只显示4位数的年份和8位数的每日日期。我怀疑它的总和部分将通过计算这些列的总和来处理,所以我真的在寻找如何将每日日期转换为4位数年份的帮助。
非常感谢您的帮助。

定义范围/分组表。
select DATEPART(year,[Date]) [Year]
, sum(Ingredient_cost_Amount) Total
from @table
group by DATEPART(year,[Date])
在大多数RDBMS中,应使用类似于以下内容的功能:

SELECT Grouping.id, SUM(Ingredient.ingredient_cost_amount) AS Ingredient_Cost_Amount,
                    SUM(Ingredient.cost_share_amount) AS Cost_Share_Amount  
FROM (VALUES (2013, DATE('2013-01-01'), DATE('2014-01-01')),
             (2012, DATE('2012-01-01'), DATE('2013-01-01'))) Grouping(id, gStart, gEnd)
JOIN Ingredient
  ON Ingredient.date >= Grouping.gStart
     AND Ingredient.date < Grouping.gEnd
GROUP BY Grouping.id
选择Grouping.id,SUM(配料.配料成本金额)作为配料成本金额,
金额(成分、成本、份额、金额)作为成本、份额、金额
自(值(2013年,日期('2013-01-01'),日期('2014-01-01')),
(2012年,日期('2012-01-01')、日期('2013-01-01'))分组(id、gStart、gEnd)
加入成分
ON.date>=Grouping.gStart
和component.date
DATE()
和相关转换函数严重依赖于数据库。一些RDBMS不支持以这种方式使用
值,尽管有其他方法可以创建虚拟分组表)
请参阅,了解我为何对范围使用专用上限


以这种方式使用范围表可能会允许db使用索引来帮助聚合。这有多大帮助取决于一系列其他因素,如使用的特定RDBMS。

您使用的是哪个数据库?