Ant*_*nes 2 sql t-sql sql-server datetime
给定一个Event包含名为EventTimeDateTime类型的字段的表,并且该值将包含日期和时间元素,我需要创建一个汇总查询,该查询计算每个月的事件数.
Group By字段的结果类型也必须是具有0时间元素的Date Time并设置为该月的第1天.
这是我到目前为止,但它不是很优雅,我不确定它特别有效.
  SELECT COUNT(1) AS [CountOfEvents],
         DATEADD(d, 1 - DAY(EventTime), DATEADD(dd, 0, DATEDIFF(dd, 0, EventTime))) AS [Month]
    FROM [Event]
GROUP BY DATEADD(d, 1 - DAY(EventTime), DATEADD(dd, 0, DATEDIFF(dd, 0, EventTime)))
更好的效率或优雅的建议?
KM.*_*KM. 10
这个楼层到月份:
select dateadd(month,datediff(m,0,GETDATE()),0);
输出:
-----------------------
2009-10-01 00:00:00.000
(1 row(s) affected)
试试这个:
SELECT
   COUNT(*) as CountOF
    ,dateadd(month,datediff(m,0,EventTime),0)
    FROM [Event]
    GROUP BY dateadd(month,datediff(m,0,EventTime),0)
    ORDER BY 2
| 归档时间: | 
 | 
| 查看次数: | 11522 次 | 
| 最近记录: |