sql-server - 有没有按月和lineNum 重叠的求和函数?
问题描述
你能帮我吗。我有一张带有 pkid、linNum、dateStart、dateStop、month 的表。我需要通过 dateMonth 上的 lineNum 将不重叠的时间相加。第 10 个月和第 11 个月有多少 lineNum 1,2 ?
pkid lineNum dateStart dateStop dateMonth
1 1 2019-11-06 13:07:21.400 2019-11-06 14:07:21.400 2019-10-01
2 1 019-11-06 14:07:21.400 2019-11-06 18:07:21.400 2019-10-01
3 1 2019-11-06 11:07:21.400 2019-11-06 11:27:21.400 2019-10-01
4 1 2019-11-06 14:07:21.400 2019-11-06 19:07:21.400 2019-10-01
5 2 2019-11-06 10:07:21.400 2019-11-06 17:07:21.400 2019-10-01
6 2 2019-11-06 09:07:21.400 2019-11-06 17:07:21.400 2019-10-01
7 2 2019-11-06 07:07:21.400 2019-11-06 17:07:21.400 2019-10-01
8 1 2019-11-06 11:07:21.400 2019-11-06 17:07:21.400 2019-11-01
9 1 2019-11-06 17:07:21.400 2019-11-06 22:07:21.400 2019-11-01
10 1 2019-11-06 19:07:21.400 2019-11-06 23:07:21.400 2019-11-01
15 1 2019-11-06 19:07:21.400 2019-11-06 23:07:21.400 2019-11-02
解决方案
你应该SUM
用 a 做 a GROUP BY
。
IE
SELECT SUM (lineNum)
FROM table
GROUP BY dateMonth;
这应该给你一个2019-10-0110
的结果
那就是说..您应该DATETIME
像其他字段一样使用字段和格式YYYY-MM-DD HH:MM:SS
,然后您可以MONTH
在WHERE
子句中使用术语-
SELECT SUM (lineNum)
FROM table
WHERE MONTH(dateMonth) = '10';
进一步说明..您可以选择月份和年份 - IE
SELECT SUM (lineNum)
FROM table
WHERE MONTH(dateMonth) = '10'
AND YEAR(dateMonth) = '2019';
这是在 SQL Server 中处理日期的简单参考
推荐阅读
- python - perl 中 useragent 和 http 库的 Python3 等效项是什么?
- asp.net-core-2.0 - NSwag 如何在 ASP.Net Zero 框架中工作?
- c# - 嗅探串口 - .net
- flutter - 如何删除 ReorderableListView 底部的额外间距 - 颤动?
- python - 如何每次运行只抓取更新的部分
- jquery - jQuery 在 991px 下调整大小时改变了一个函数
- python-3.x - multiprocessing.Manager().dict() 无法更新二级值
- php - 我正在尝试使用 php 发送邮件,但单击发送按钮后页面为空白且没有错误..我不知道为什么
- c++ - 访问不同的会话 tty
- ruby - 使用 || 为变量赋值 Ruby中带有if条件的运算符