4

指定されたテーブル構造(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 からのサンプル データが含まれています。「時間間隔」列は、eventTime が関連する間隔 (この場合は 1 時間ごと) を計算します。結果タブには、特定の間隔に関連するイベントの数がカウントされます。

4

1 に答える 1

1

これにより、5分ごとのグループのレコード数が得られます

select eventTime/5,count(*)
from   evalHubSupply
group by eventTime/5
于 2012-10-04T09:06:22.550 に答える