[英]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.