小编Ron*_*gen的帖子

3000万条记录.将它们分成24小时.总结一个月.冲洗并重复

我需要检查3000万条记录(一个月价值)的每日票证验证(Unix日期时间),并将它们分成24个一小时的时间段,用于211个站点.

首先,我创建了一个视图,选择我正在寻找的月份(以及设备类型),然后为每个Unix日期时间创建一个Windows Datetime值.

SELECT TOP (100) PERCENT StationName AS Station, MainTable.UnixDateTime AS ValTime, 
DATEADD(s, MainTable.UnixDateTime, CONVERT(DATETIME, '1970-01-01 00:00:00', 102)) AS WinTime
FROM  MainTable 
INNER JOIN StationName ON MainTable.StationID = StationName.StationID
WHERE (StationName.ValidStationCode = 32767) [use only valid stations] 
AND (MainTable. UnixDateTime >= 1264996800) 
AND (MainTable. UnixDateTime < 1267416000) 
AND (MainTable.EquipmentCode IN (33, 36)) [examine only this equipment]
ORDER BY Station
Run Code Online (Sandbox Code Playgroud)

然后,我运行主程序,对于每个一小时的时段,在该视图上使用select语句.这是211个站中每个站的24个选择语句.

例1)

Update table Set [0102]= (select count(ValTime) 
from view 
where Station = @thisStation and DatePart (Hour, WinTime)>= 1 and …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

5
推荐指数
1
解决办法
213
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1