对于给定的表结构(eventTime是以秒为单位),我希望按照给定的时间范围对结果进行分组:
例如:5分钟
0 to 5: 1
5 to 10: 2
10 to 15: 3
.....在SQL Server 2012中如何做到这一点?
谢谢!
弗洛里安
CREATE TABLE [dbo].[evalHubSupply](
[evalHubSupplyId] [int] IDENTITY(1,1) NOT NULL,
[projectId] [int] NOT NULL,
[scenarioId] [int] NOT NULL,
[iterationId] [int] NOT NULL,
[evalExportId] [int] NOT NULL,
[eventType] [varchar](50) NOT NULL,
[eventTime] [int] NOT NULL,
[stopId] [varchar](50) NOT NULL,
[stopName] [varchar](50) NULL,
[vehicleId] [varchar](50) NOT NULL,
[transitLineId] [varchar](50) NULL,
[transitRouteId] [varchar](50) NULL,
[capacity] [int] NULL,
[arrivalTimeAtStop] [int] NULL,
[agentsOnBoard] [int] NULL)样本数据(间隔1小时):
https://dl.dropbox.com/u/481455/table_data.xlsx或https://dl.dropbox.com/u/481455/table_data_open.ods
“表数据”选项卡包含来自evalHubSupply的示例数据。"Time interval“列计算与eventTime相关的时间间隔(在本例中为每小时)。results选项卡统计与特定时间间隔相关的事件数量。
发布于 2012-10-04 17:06:23
这将提供每5分钟组中的记录数
select eventTime/5,count(*)
from evalHubSupply
group by eventTime/5https://stackoverflow.com/questions/12723806
复制相似问题