[英]Grouping query results in T-SQL by MONTH
我正在寻找一个提示,该提示如何将我的查询结果按MONTH和WindowsAccount 分组 ,其中月份信息来自查询中的InsertedAt列。 如果有人能提出实现该目标的方法,我将非常感激。 预先感谢您。
SELECT InsertedAt,
TaskName,
WindowsAccount,
Start,
Round (Time / 60.1, 2) AS Time
FROM (SELECT CONVERT (VARCHAR(23), InsertedAt, 104) AS InsertedAt,
Subject,
TaskName,
WindowsAccount,
CONVERT (VARCHAR(23), NewStart, 104) AS Start,
Datediff("MINUTE", OldStart, OldEnd) AS OldDiff,
Datediff("MINUTE", NewStart, NewEnd) AS Time
FROM History
WHERE ( Month(InsertedAt) IN ( 9, 10, 11 )
AND Year(InsertedAt) = 2015 )) AS Tab
WHERE Tab.OldDiff <> Tab.Time
ORDER BY InsertedAt,
WindowsAccount
您可以使用DatePart函数进行分组。
作为示例( https://msdn.microsoft.com/en-us/library/ms177673.aspx ):
SELECT DATEPART(m,OrderDate) AS N'Month'
,SUM(TotalDue) AS N'Total Order Amount'
FROM Sales.SalesOrderHeader
GROUP BY DATEPART(m,OrderDate)
ORDER BY DATEPART(m,OrderDate);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.