sql server计算一周内每天产量,星期一为每周第一天
时间: 2024-10-06 16:01:56 浏览: 15
在SQL Server中,你可以使用日期函数和GROUP BY语句来计算一周内每天的产量。假设你有一个名为`Production`的表,其中包含`ProductID`, `ProductionDate`, 和 `Quantity`等字段,可以尝试以下查询:
```sql
SELECT DATEPART(weekday, ProductionDate) AS DayOfWeek,
SUM(Quantity) AS DailyProduction
FROM Production
WHERE ProductionDate BETWEEN DATEADD(day, -(DATEPART(dw, GETDATE()) - 1), GETDATE()) AND GETDATE() -- 获取当前周的第一天到今天
GROUP BY DATEPART(weekday, ProductionDate)
ORDER BY DATEPART(weekday, ProductionDate);
```
这个查询做了以下几件事:
1. 使用DATEPART(weekday, ProductionDate)获取每一天是一周中的哪一天。
2. `DATEADD(day, -(DATEPART(dw, GETDATE()) - 1), GETDATE())`计算出当前周的第一天,因为SQL Server中0表示星期日,所以我们减去一天得到实际的周一。
3. 使用SUM(Quantity)对每天的产量求和。
4. GROUP BY按星期几分组数据。
5. ORDER BY排序结果以便查看每个工作日的产量。