Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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 server 如何在一列中汇总每个星期的数值?_Sql Server_Tsql - Fatal编程技术网

Sql server 如何在一列中汇总每个星期的数值?

Sql server 如何在一列中汇总每个星期的数值?,sql-server,tsql,Sql Server,Tsql,我需要对每个工作周编号的“金钱”列中的值进行汇总。 现在我有一个看法: WeekNumber | DayTime | Money --------------------------------------- 1 | 2012-01-01 | 20.4 1 | 2012-01-02 | 30.5 1 | 2012-01-03 | 55.1 2 | 2012-02-0

我需要对每个工作周编号的“金钱”列中的值进行汇总。

现在我有一个看法:

WeekNumber  |   DayTime    |   Money 
---------------------------------------
1           |   2012-01-01 |    20.4
1           |   2012-01-02 |    30.5
1           |   2012-01-03 |    55.1
2           |   2012-02-01 |    67.3
2           |   2012-02-02 |    33.4
3           |   2012-03-01 |    11.8
3           |   2012-03-04 |    23.9
3           |   2012-03-05 |    34.3
4           |   2012-04-01 |    76.6
4           |   2012-04-02 |    90.3
Tsql:

SELECT datepart(week,DayTime) AS WeekNumber, DayTime, Money FROM dbo.Transactions
最后,我想得到如下信息:

WeekNumber  |   DayTime    |    Sum
---------------------------------------
1           |   2012-01-01 |    106
2           |   2012-02-02 |    100.7
3           |   2012-03-03 |    470
4           |   2012-04-01 |    166.9
对于每个星期数,日间应是随机的,但从上面的视图来看,日间列中存在

请随意写下你的想法。谢谢

试试这个

SELECT datepart(week,DayTime) AS WeekNumber, SUM(Money) FROM dbo.Transactions GROUP BY WeekNumber
由于每周都有行数,因此无法使用同一个表获得白天。还有其他的添加方法,比如加入

SELECT datepart(week,DayTime) AS WeekNumber, SUM(Money) FROM dbo.Transactions GROUP BY WeekNumber

由于每周都有行数,因此无法使用同一个表获得白天。还有其他的方法可以添加它,比如
JOIN

更改您的SQL以计算金额列。像这样

SELECT 
datepart(week,DayTime) AS WeekNumber, 
DayTime, Money = SUM(Money) 
FROM dbo.Transactions
GROUP BY datepart(week,DayTime),DayTime

将SQL更改为“求和”列。像这样

SELECT 
datepart(week,DayTime) AS WeekNumber, 
DayTime, Money = SUM(Money) 
FROM dbo.Transactions
GROUP BY datepart(week,DayTime),DayTime
选择datepart(周、日)作为周编号
,MIN(日间)day--
选择datepart(周,日间)作为周数

,MIN(day)day--这将抛出一个错误,因为您没有使用group by。这将抛出一个错误,因为您没有使用group by