簡體   English   中英

按MONTH在T-SQL中對查詢結果進行分組

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM