SQL行与行之间相减(电费计算)或 起止码算法或电价、班组算法、局部虚拟表、全局虚拟表
2015-03-30 16:57
375 查看
1、存储过程中尽量不要用全局虚拟表##
注意:先建表结构,然后insert into #RecordDatas exec('select * from tab')
2、正确删除临时表的方法:
if OBJECT_ID('tempdb..#临时表') is not null
drop table #临时表
注意:不管全局临时表、还是临时表用完了一定要drop table
临时表存放在tempDb数据库的临时表文件夹
3、实例:反复创建临时表不会报错(Sql2005 以后数据库才有)
注意:对于存储过程的创建的临时表,没必要删除,对于满足可缓存的临时表对象,想删也删不掉!
反复创建临时表,不会报错,这就是缓存临时表。(但##全局虚拟表除外)
4、实例:执行DDL操作,比如创建索引等。不会缓存临时表
alter procedure [dbo].[proc_testtemptable]
as
begin
create table #a (col_1 varchar(100))
create index idx_col1 on #a(col_1)
insert into #a values('aaa')
select * from #a
end
效果:
5、并发线程之间当然不会重用同一个临时表,如果不是这样的话,SQL Server也不用混江湖了,并发的每个线程会创建自己的临时表。
select *,ROW_NUMBER() OVER(PARTITION BY equipmentid ORDER BY Time) rn into ##2ADDF2D467BB4FD9849F958C1F16B8A3
from (select * from RecordDatas201610 where time>='2016-10-09 08:00:00' and time<='2016-10-10 08:00:00' ) a where varname='epi'
select a.equipmentid,a.time time,b.maxvalue-a.maxvaluevalue into ##C0E93A4B345D47B48D41DCEADC489DAA
from ##2ADDF2D467BB4FD9849F958C1F16B8A3 a,##2ADDF2D467BB4FD9849F958C1F16B8A3 b
where a.equipmentid=b.equipmentid AND a.rn+1=b.rn
方法二:
select t1.EquipmentID , t1.time ,t1.maxvalue - (select top 1 t2.maxvalue from 数据集 t2 where t2.time < t1.time and t2.EquipmentID = t1.EquipmentID ) 电量from 数据集 t1
方法三:
SELECT t1.EquipmentID 设备Id, t1.maxValue 电量1,t1.time 时间1,max(t2.time)与时间1相邻 FROM ##datarecord t1 left join ##datarecord t2 on t1.varid=t2.varid and t1.EquipmentID=t2.EquipmentID and t1.time>t2.time where t2.maxValue>0 and t1.maxValue>0group by t1.EquipmentID,t1.maxValue,t1.time
效果:
效果:
三、电价班组算法
数据表、电费、班组表
其他:
效果:
注意:先建表结构,然后insert into #RecordDatas exec('select * from tab')
2、正确删除临时表的方法:
if OBJECT_ID('tempdb..#临时表') is not null
drop table #临时表
注意:不管全局临时表、还是临时表用完了一定要drop table
临时表存放在tempDb数据库的临时表文件夹
3、实例:反复创建临时表不会报错(Sql2005 以后数据库才有)
create procedure [dbo].[proc_testtemptable] as begin select 'aa' a into #a select * from #a end
注意:对于存储过程的创建的临时表,没必要删除,对于满足可缓存的临时表对象,想删也删不掉!
反复创建临时表,不会报错,这就是缓存临时表。(但##全局虚拟表除外)
4、实例:执行DDL操作,比如创建索引等。不会缓存临时表
alter procedure [dbo].[proc_testtemptable]
as
begin
create table #a (col_1 varchar(100))
create index idx_col1 on #a(col_1)
insert into #a values('aaa')
select * from #a
end
--查询实例级临时表创建次数 select * from sys.dm_os_performance_counters where counter_name like '%Temp Tables Creation Rate%' go --执行存储过程,存储过程中包含临时表的创建 exec dbo.proc_testtemptable go --查询实例级临时表创建次数 select * from sys.dm_os_performance_counters where counter_name like '%Temp Tables Creation Rate%' go
效果:
5、并发线程之间当然不会重用同一个临时表,如果不是这样的话,SQL Server也不用混江湖了,并发的每个线程会创建自己的临时表。
一、行相减
方法一:select *,ROW_NUMBER() OVER(PARTITION BY equipmentid ORDER BY Time) rn into ##2ADDF2D467BB4FD9849F958C1F16B8A3
from (select * from RecordDatas201610 where time>='2016-10-09 08:00:00' and time<='2016-10-10 08:00:00' ) a where varname='epi'
select a.equipmentid,a.time time,b.maxvalue-a.maxvaluevalue into ##C0E93A4B345D47B48D41DCEADC489DAA
from ##2ADDF2D467BB4FD9849F958C1F16B8A3 a,##2ADDF2D467BB4FD9849F958C1F16B8A3 b
where a.equipmentid=b.equipmentid AND a.rn+1=b.rn
ALTER PROCEDURE [dbo].[用气量日报] @dtime datetime= N'2016-06-21' AS BEGIN --时间范围 declare @stime varchar(50),@etime varchar(50),@ctime varchar(50),@STableName varchar(500),@ETableName varchar(500),@Ssql varchar(8000) set @stime=CONVERT(char(10),@dtime,120)+' 08:00:00' set @ctime=CONVERT(char(10),@dtime,120)+' 20:00:00' set @etime=CONVERT(char(10),dateadd(day,1,@dtime),120)+' 08:00:00' --获得数据源 set @STableName='RecordDatas'+CONVERT(char(6),@dtime,112) if datepart(day,cast(@etime as datetime))=1 begin set @ETableName='RecordDatas'+CONVERT(char(6),cast(@etime as datetime),112) set @Ssql='select * from '+@STableName+' where time>='''+@stime+''' and time<='''+@etime+''' union all select * from '+@ETableName+' where time>='''+@stime+''' and time<='''+@etime+''' ' end else begin set @ETableName='' set @Ssql='select * from '+@STableName+' where time>='''+@stime+''' and time<='''+@etime+''' ' end --print @Ssql CREATE TABLE #RecordDatas( [EquipmentID] [int] NULL, [VarID] [int] NULL, [VarName] [nvarchar](50) NULL, [MaxValue] [float] NULL, [MaxValueTime] [datetime] NULL, [MinValue] [float] NULL, [MinValueTime] [datetime] NULL, [AvgValue] [float] NULL, [Time] [datetime] NULL, rn int ) ON [PRIMARY] ----编号 insert into #RecordDatas exec('select *,ROW_NUMBER() OVER(PARTITION BY equipmentid ORDER BY Time) rn from ('+@Ssql+') a where varname=''Lj'' ') ----行减 select a.equipmentid,a.time time,b.maxvalue-a.maxvalue value into #RecordDatas2 from #RecordDatas a,#RecordDatas b where a.equipmentid=b.equipmentid AND a.rn+1=b.rn create table #气表 ( name varchar(50), equipmentid int, Idorder int ) insert into #气表 select '车间1',404,1 insert into #气表 select '车间2',405,2 insert into #气表 select '窑尾',406,3 insert into #气表 select '立磨',407,4 insert into #气表 select '旋二',408,5 select a.name,a.equipmentid,isnull(b.白班气量,0) 白班气量,isnull(c.夜班气量,0) 夜班气量,isnull(b.白班气量,0)+isnull(c.夜班气量,0) 日气量 into #zj from #气表 a left join( select equipmentid,sum(value) 白班气量 from #RecordDatas2 where time>=@stime and time<@ctime and equipmentid in(select equipmentid from #气表) group by equipmentid )b on a.equipmentid=b.equipmentid left join( select equipmentid,sum(value) 夜班气量 from #RecordDatas2 where time>=@ctime and time<@etime and equipmentid in(select equipmentid from #气表) group by equipmentid )c on a.equipmentid=c.equipmentid order by a.Idorder END
方法二:
select t1.EquipmentID , t1.time ,t1.maxvalue - (select top 1 t2.maxvalue from 数据集 t2 where t2.time < t1.time and t2.EquipmentID = t1.EquipmentID ) 电量from 数据集 t1
方法三:
SELECT t1.EquipmentID 设备Id, t1.maxValue 电量1,t1.time 时间1,max(t2.time)与时间1相邻 FROM ##datarecord t1 left join ##datarecord t2 on t1.varid=t2.varid and t1.EquipmentID=t2.EquipmentID and t1.time>t2.time where t2.maxValue>0 and t1.maxValue>0group by t1.EquipmentID,t1.maxValue,t1.time
效果:
二、起止码算法
推荐使用:select EquipmentID 设备ID,VarName 变量,MaxValue [8点值],Time [时间] from dbo.RecordDatas201610 a where VarName='epi' and Time=( select min(time) from RecordDatas201610 b where a.equipmentid=b.equipmentid and Time>='2016-10-09 08:00:00' )
效果:
select EquipmentID,MaxValue,time from ( --partition by:以EquipmentID、convert(varchar(10),time,120)进行分组、再以time进行倒序 select EquipmentID,MaxValue,time,ROW_NUMBER()over(partition by EquipmentID,convert(varchar(10),time,120) order by time desc) rn from dbo.RecordDatas201610 where VarName = 'EPI' and Time <= '2016-10-09 08:00:00' ) i where rn = 1
三、电价班组算法
数据表、电费、班组表
CREATE TABLE [dbo].[数据]( [EquipmentID] [int] NULL, [VarID] [int] NULL, [VarName] [nvarchar](50) NULL, [MaxValue] [float] NULL, [MaxValueTime] [datetime] NULL, [MinValue] [float] NULL, [MinValueTime] [datetime] NULL, [AvgValue] [float] NULL, [Time] [datetime] NULL ) ON [PRIMARY] GO INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1584792, CAST(0x0000A773018B80D4 AS DateTime), 1584706, CAST(0x0000A7740000012C AS DateTime), 1584750, CAST(0x0000A77400000000 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1585066, CAST(0x0000A77400083E8C AS DateTime), 1584979, CAST(0x0000A77400083E8C AS DateTime), 1585023, CAST(0x0000A77400083D60 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1585339, CAST(0x0000A77400107BEC AS DateTime), 1585253, CAST(0x0000A77400107BEC AS DateTime), 1585296, CAST(0x0000A77400107AC0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1585613, CAST(0x0000A7740018B94C AS DateTime), 1585526, CAST(0x0000A7740018B94C AS DateTime), 1585570, CAST(0x0000A7740018B820 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1585886, CAST(0x0000A7740020F6AC AS DateTime), 1585798, CAST(0x0000A7740020F6AC AS DateTime), 1585843, CAST(0x0000A7740020F580 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1586160, CAST(0x0000A774002931B4 AS DateTime), 1586074, CAST(0x0000A7740029340C AS DateTime), 1586116, CAST(0x0000A774002932E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1586435, CAST(0x0000A77400317040 AS DateTime), 1586347, CAST(0x0000A77400317040 AS DateTime), 1586391, CAST(0x0000A77400317040 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1586709, CAST(0x0000A7740039AC74 AS DateTime), 1586623, CAST(0x0000A7740039AECC AS DateTime), 1586665, CAST(0x0000A7740039ADA0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1586984, CAST(0x0000A7740041EC2C AS DateTime), 1586896, CAST(0x0000A7740041EC2C AS DateTime), 1586940, CAST(0x0000A7740041EB00 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1587258, CAST(0x0000A774004A2734 AS DateTime), 1587172, CAST(0x0000A774004A298C AS DateTime), 1587215, CAST(0x0000A774004A2860 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1587533, CAST(0x0000A774005266EC AS DateTime), 1587445, CAST(0x0000A77400526818 AS DateTime), 1587490, CAST(0x0000A774005265C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1587809, CAST(0x0000A774005AA44C AS DateTime), 1587722, CAST(0x0000A774005AA44C AS DateTime), 1587766, CAST(0x0000A774005AA320 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1588086, CAST(0x0000A7740062DF54 AS DateTime), 1587998, CAST(0x0000A7740062E2D8 AS DateTime), 1588042, CAST(0x0000A7740062E080 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1588363, CAST(0x0000A774006B1F0C AS DateTime), 1588275, CAST(0x0000A77400688698 AS DateTime), 1588319, CAST(0x0000A774006B1DE0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1588640, CAST(0x0000A77400735B40 AS DateTime), 1588552, CAST(0x0000A77400735C6C AS DateTime), 1588597, CAST(0x0000A77400735B40 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1588916, CAST(0x0000A774007B99CC AS DateTime), 1588829, CAST(0x0000A774007B99CC AS DateTime), 1588873, CAST(0x0000A774007B98A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1589189, CAST(0x0000A7740083D72C AS DateTime), 1589101, CAST(0x0000A7740083D72C AS DateTime), 1589146, CAST(0x0000A7740083D600 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1589465, CAST(0x0000A774008C148C AS DateTime), 1589377, CAST(0x0000A774008C148C AS DateTime), 1589422, CAST(0x0000A774008C1360 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1589744, CAST(0x0000A774009451EC AS DateTime), 1589656, CAST(0x0000A774009451EC AS DateTime), 1589699, CAST(0x0000A774009450C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1590012, CAST(0x0000A774009C8F4C AS DateTime), 1589927, CAST(0x0000A774009C9078 AS DateTime), 1589969, CAST(0x0000A774009C8E20 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1590282, CAST(0x0000A77400A4CA54 AS DateTime), 1590196, CAST(0x0000A77400A4CCAC AS DateTime), 1590239, CAST(0x0000A77400A4CB80 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1590556, CAST(0x0000A77400AD0A0C AS DateTime), 1590469, CAST(0x0000A77400AD0A0C AS DateTime), 1590513, CAST(0x0000A77400AD08E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1590822, CAST(0x0000A77400B54514 AS DateTime), 1590739, CAST(0x0000A77400B54898 AS DateTime), 1590781, CAST(0x0000A77400B54640 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1591088, CAST(0x0000A77400BD83A0 AS DateTime), 1591002, CAST(0x0000A77400BAE550 AS DateTime), 1591045, CAST(0x0000A77400BD83A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1591362, CAST(0x0000A77400C5BFD4 AS DateTime), 1591276, CAST(0x0000A77400C5C22C AS DateTime), 1591319, CAST(0x0000A77400C5C100 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1591636, CAST(0x0000A77400CDFF8C AS DateTime), 1591547, CAST(0x0000A77400CDFF8C AS DateTime), 1591591, CAST(0x0000A77400CDFE60 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1591907, CAST(0x0000A77400D63CEC AS DateTime), 1591821, CAST(0x0000A77400D3A5A4 AS DateTime), 1591864, CAST(0x0000A77400D63BC0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1592181, CAST(0x0000A77400DE77F4 AS DateTime), 1592095, CAST(0x0000A77400DE7B78 AS DateTime), 1592138, CAST(0x0000A77400DE7920 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1592455, CAST(0x0000A77400E6B7AC AS DateTime), 1592368, CAST(0x0000A77400E6B7AC AS DateTime), 1592412, CAST(0x0000A77400E6B680 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1592730, CAST(0x0000A77400EEF2B4 AS DateTime), 1592644, CAST(0x0000A77400EEF50C AS DateTime), 1592687, CAST(0x0000A77400EEF3E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1593005, CAST(0x0000A77400F7326C AS DateTime), 1592919, CAST(0x0000A77400F49EA8 AS DateTime), 1592962, CAST(0x0000A77400F73140 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1593281, CAST(0x0000A77400FF6EA0 AS DateTime), 1593193, CAST(0x0000A77400FF6EA0 AS DateTime), 1593236, CAST(0x0000A77400FF6EA0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1593554, CAST(0x0000A7740107AD2C AS DateTime), 1593466, CAST(0x0000A7740107AD2C AS DateTime), 1593510, CAST(0x0000A7740107AC00 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1593828, CAST(0x0000A774010FE834 AS DateTime), 1593742, CAST(0x0000A774010FEA8C AS DateTime), 1593785, CAST(0x0000A774010FE960 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1594102, CAST(0x0000A774011827EC AS DateTime), 1594015, CAST(0x0000A774011827EC AS DateTime), 1594058, CAST(0x0000A774011826C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1594375, CAST(0x0000A7740120654C AS DateTime), 1594289, CAST(0x0000A7740120654C AS DateTime), 1594332, CAST(0x0000A77401206420 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1594649, CAST(0x0000A7740128A2AC AS DateTime), 1594561, CAST(0x0000A7740128A2AC AS DateTime), 1594605, CAST(0x0000A7740128A180 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1594921, CAST(0x0000A7740130E138 AS DateTime), 1594834, CAST(0x0000A7740130E138 AS DateTime), 1594877, CAST(0x0000A7740130DEE0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1595192, CAST(0x0000A77401391D6C AS DateTime), 1595106, CAST(0x0000A774013682A0 AS DateTime), 1595149, CAST(0x0000A77401391C40 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1595464, CAST(0x0000A77401415ACC AS DateTime), 1595378, CAST(0x0000A77401415ACC AS DateTime), 1595422, CAST(0x0000A774014159A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1595738, CAST(0x0000A77401499958 AS DateTime), 1595651, CAST(0x0000A77401499958 AS DateTime), 1595694, CAST(0x0000A77401499700 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1596008, CAST(0x0000A7740151D58C AS DateTime), 1595921, CAST(0x0000A7740151D58C AS DateTime), 1595965, CAST(0x0000A7740151D460 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1596280, CAST(0x0000A774015A1418 AS DateTime), 1596193, CAST(0x0000A774015A1418 AS DateTime), 1596236, CAST(0x0000A774015A11C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1596551, CAST(0x0000A77401624F20 AS DateTime), 1596465, CAST(0x0000A774015FB580 AS DateTime), 1596509, CAST(0x0000A77401624F20 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1596823, CAST(0x0000A774016A8DAC AS DateTime), 1596737, CAST(0x0000A774016A8DAC AS DateTime), 1596780, CAST(0x0000A774016A8C80 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1597095, CAST(0x0000A7740172C8B4 AS DateTime), 1597009, CAST(0x0000A7740172CB0C AS DateTime), 1597052, CAST(0x0000A7740172C9E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1597367, CAST(0x0000A774017B086C AS DateTime), 1597280, CAST(0x0000A774017B086C AS DateTime), 1597324, CAST(0x0000A774017B0740 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1597640, CAST(0x0000A774018345CC AS DateTime), 1597554, CAST(0x0000A7740180AFB0 AS DateTime), 1597596, CAST(0x0000A774018344A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (2, 29, N'EPI', 1597912, CAST(0x0000A7750000012C AS DateTime), 1597826, CAST(0x0000A7750000012C AS DateTime), 1597868, CAST(0x0000A77500000000 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98491.2, CAST(0x0000A773018B80D4 AS DateTime), 98491.2, CAST(0x0000A773018B80D4 AS DateTime), 98491.2, CAST(0x0000A77400000000 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98498.4, CAST(0x0000A77400083C34 AS DateTime), 98496, CAST(0x0000A7740007F38C AS DateTime), 98496.27, CAST(0x0000A77400083D60 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98503.2, CAST(0x0000A77400107994 AS DateTime), 98500.8, CAST(0x0000A77400105D74 AS DateTime), 98500.9, CAST(0x0000A77400107AC0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98508, CAST(0x0000A7740018B6F4 AS DateTime), 98505.6, CAST(0x0000A77400171CCC AS DateTime), 98507.07, CAST(0x0000A7740018B820 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98512.8, CAST(0x0000A7740020F454 AS DateTime), 98510.4, CAST(0x0000A774001F926C AS DateTime), 98511.66, CAST(0x0000A7740020F580 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98517.6, CAST(0x0000A774002931B4 AS DateTime), 98515.2, CAST(0x0000A7740027CC48 AS DateTime), 98516.48, CAST(0x0000A774002932E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98522.4, CAST(0x0000A77400316F14 AS DateTime), 98520, CAST(0x0000A77400311BE0 AS DateTime), 98520.3, CAST(0x0000A77400317040 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98524.8, CAST(0x0000A7740039AC74 AS DateTime), 98524.8, CAST(0x0000A7740039AC74 AS DateTime), 98524.8, CAST(0x0000A7740039ADA0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98529.6, CAST(0x0000A7740041E9D4 AS DateTime), 98529.6, CAST(0x0000A7740041E9D4 AS DateTime), 98529.6, CAST(0x0000A7740041EB00 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98534.4, CAST(0x0000A774004A2734 AS DateTime), 98534.4, CAST(0x0000A774004A2734 AS DateTime), 98534.4, CAST(0x0000A774004A2860 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98539.2, CAST(0x0000A77400526494 AS DateTime), 98536.8, CAST(0x0000A7740050F49C AS DateTime), 98538.12, CAST(0x0000A774005265C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98544, CAST(0x0000A774005AA1F4 AS DateTime), 98541.6, CAST(0x0000A774005A918C AS DateTime), 98541.66, CAST(0x0000A774005AA320 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98546.4, CAST(0x0000A7740062DF54 AS DateTime), 98546.4, CAST(0x0000A7740062DF54 AS DateTime), 98546.4, CAST(0x0000A7740062E080 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98551.2, CAST(0x0000A774006B1CB4 AS DateTime), 98551.2, CAST(0x0000A774006B1CB4 AS DateTime), 98551.2, CAST(0x0000A774006B1DE0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98558.4, CAST(0x0000A77400735A14 AS DateTime), 98556, CAST(0x0000A7740072CC48 AS DateTime), 98556.51, CAST(0x0000A77400735B40 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98563.2, CAST(0x0000A774007B9774 AS DateTime), 98560.8, CAST(0x0000A774007A22CC AS DateTime), 98562.13, CAST(0x0000A774007B98A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98570.4, CAST(0x0000A7740083D4D4 AS DateTime), 98568, CAST(0x0000A77400839910 AS DateTime), 98568.22, CAST(0x0000A7740083D600 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98575.2, CAST(0x0000A774008C1234 AS DateTime), 98572.8, CAST(0x0000A7740089844C AS DateTime), 98575.14, CAST(0x0000A774008C1360 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98580, CAST(0x0000A77400944F94 AS DateTime), 98580, CAST(0x0000A77400944F94 AS DateTime), 98580, CAST(0x0000A774009450C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98584.8, CAST(0x0000A774009C8CF4 AS DateTime), 98582.4, CAST(0x0000A7740099F804 AS DateTime), 98584.77, CAST(0x0000A774009C8E20 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98589.6, CAST(0x0000A77400A4CA54 AS DateTime), 98587.2, CAST(0x0000A77400A2AE18 AS DateTime), 98589.14, CAST(0x0000A77400A4CB80 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98594.4, CAST(0x0000A77400AD07B4 AS DateTime), 98592, CAST(0x0000A77400AB5BF8 AS DateTime), 98593.52, CAST(0x0000A77400AD08E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98601.6, CAST(0x0000A77400B54514 AS DateTime), 98599.2, CAST(0x0000A77400B4E04C AS DateTime), 98599.56, CAST(0x0000A77400B54640 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98608.8, CAST(0x0000A77400BD8274 AS DateTime), 98606.4, CAST(0x0000A77400BD46B0 AS DateTime), 98606.62, CAST(0x0000A77400BD83A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98616, CAST(0x0000A77400C5BFD4 AS DateTime), 98613.6, CAST(0x0000A77400C5BEA8 AS DateTime), 98613.61, CAST(0x0000A77400C5C100 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98618.4, CAST(0x0000A77400CDFD34 AS DateTime), 98618.4, CAST(0x0000A77400CDFD34 AS DateTime), 98618.4, CAST(0x0000A77400CDFE60 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98623.2, CAST(0x0000A77400D63A94 AS DateTime), 98623.2, CAST(0x0000A77400D63A94 AS DateTime), 98623.2, CAST(0x0000A77400D63BC0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98630.4, CAST(0x0000A77400DE77F4 AS DateTime), 98628, CAST(0x0000A77400DC6AF4 AS DateTime), 98629.88, CAST(0x0000A77400DE7920 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98635.2, CAST(0x0000A77400E6B554 AS DateTime), 98632.8, CAST(0x0000A77400E4E670 AS DateTime), 98634.46, CAST(0x0000A77400E6B680 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98640, CAST(0x0000A77400EEF2B4 AS DateTime), 98637.6, CAST(0x0000A77400EEA688 AS DateTime), 98637.88, CAST(0x0000A77400EEF3E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98642.4, CAST(0x0000A77400F73014 AS DateTime), 98642.4, CAST(0x0000A77400F73014 AS DateTime), 98642.4, CAST(0x0000A77400F73140 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98647.2, CAST(0x0000A77400FF6D74 AS DateTime), 98647.2, CAST(0x0000A77400FF6D74 AS DateTime), 98647.2, CAST(0x0000A77400FF6EA0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98652, CAST(0x0000A7740107AAD4 AS DateTime), 98649.6, CAST(0x0000A7740106C2CC AS DateTime), 98650.43, CAST(0x0000A7740107AC00 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98656.8, CAST(0x0000A774010FE834 AS DateTime), 98654.4, CAST(0x0000A774010F9050 AS DateTime), 98654.71, CAST(0x0000A774010FE960 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98659.2, CAST(0x0000A77401182594 AS DateTime), 98659.2, CAST(0x0000A77401182594 AS DateTime), 98659.2, CAST(0x0000A774011826C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98666.4, CAST(0x0000A774012062F4 AS DateTime), 98664, CAST(0x0000A774011F9CE8 AS DateTime), 98664.71, CAST(0x0000A77401206420 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98671.2, CAST(0x0000A7740128A054 AS DateTime), 98668.8, CAST(0x0000A7740127BAA4 AS DateTime), 98669.62, CAST(0x0000A7740128A180 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98676, CAST(0x0000A7740130DDB4 AS DateTime), 98673.6, CAST(0x0000A774012F645C AS DateTime), 98674.95, CAST(0x0000A7740130DEE0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98680.8, CAST(0x0000A77401391B14 AS DateTime), 98678.4, CAST(0x0000A774013875D8 AS DateTime), 98678.99, CAST(0x0000A77401391C40 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98683.2, CAST(0x0000A77401415874 AS DateTime), 98683.2, CAST(0x0000A77401415874 AS DateTime), 98683.2, CAST(0x0000A774014159A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98688, CAST(0x0000A774014995D4 AS DateTime), 98688, CAST(0x0000A774014995D4 AS DateTime), 98688, CAST(0x0000A77401499700 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98692.8, CAST(0x0000A7740151D334 AS DateTime), 98692.8, CAST(0x0000A7740151D334 AS DateTime), 98692.8, CAST(0x0000A7740151D460 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98697.6, CAST(0x0000A774015A1094 AS DateTime), 98697.6, CAST(0x0000A774015A1094 AS DateTime), 98697.6, CAST(0x0000A774015A11C0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98704.8, CAST(0x0000A77401624DF4 AS DateTime), 98702.4, CAST(0x0000A77401612DAC AS DateTime), 98703.43, CAST(0x0000A77401624F20 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98714.4, CAST(0x0000A774016A8B54 AS DateTime), 98712, CAST(0x0000A7740169FA04 AS DateTime), 98712.52, CAST(0x0000A774016A8C80 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98719.2, CAST(0x0000A7740172C8B4 AS DateTime), 98716.8, CAST(0x0000A77401708BA8 AS DateTime), 98718.85, CAST(0x0000A7740172C9E0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98726.4, CAST(0x0000A774017B0614 AS DateTime), 98724, CAST(0x0000A774017AEFD0 AS DateTime), 98724.08, CAST(0x0000A774017B0740 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98731.2, CAST(0x0000A77401834374 AS DateTime), 98728.8, CAST(0x0000A7740182AC48 AS DateTime), 98729.34, CAST(0x0000A774018344A0 AS DateTime)) INSERT [dbo].[数据] ([EquipmentID], [VarID], [VarName], [MaxValue], [MaxValueTime], [MinValue], [MinValueTime], [AvgValue], [Time]) VALUES (3, 29, N'EPI', 98736, CAST(0x0000A774018B80D4 AS DateTime), 98733.6, CAST(0x0000A77401892B2C AS DateTime), 98735.71, CAST(0x0000A77500000000 AS DateTime)) /****** Object: Table [dbo].[电费] Script Date: 09/23/2017 17:03:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[电费]( [id] [int] NULL, [name] [varchar](50) NULL, [price] [float] NULL, [time1] [datetime] NULL, [time2] [datetime] NULL, [rn] [varchar](11) NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (2, N'Bottom', 0.2232, CAST(0x00009CF100000000 AS DateTime), CAST(0x00009CF100735B40 AS DateTime), N'00:00-07:00') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (3, N'Common', 0.4465, CAST(0x00009CF100735B40 AS DateTime), CAST(0x00009CF10083D600 AS DateTime), N'07:00-08:00') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (1, N'Top', 0.6697, CAST(0x00009CF10083D600 AS DateTime), CAST(0x00009CF100B54640 AS DateTime), N'08:00-11:00') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (3, N'Common', 0.4465, CAST(0x00009CF100B54640 AS DateTime), CAST(0x00009CF100F73140 AS DateTime), N'11:00-15:00') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (1, N'Top', 0.6697, CAST(0x00009CF100F73140 AS DateTime), CAST(0x00009CF10107AC00 AS DateTime), N'15:00-16:00') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (3, N'Common', 0.4465, CAST(0x00009CF10107AC00 AS DateTime), CAST(0x00009CF10130DEE0 AS DateTime), N'16:00-18:30') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (1, N'Top', 0.6697, CAST(0x00009CF10130DEE0 AS DateTime), CAST(0x00009CF1016A8C80 AS DateTime), N'18:30-22:00') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (3, N'Common', 0.4465, CAST(0x00009CF1016A8C80 AS DateTime), CAST(0x00009CF1017B0740 AS DateTime), N'22:00-23:00') INSERT [dbo].[电费] ([id], [name], [price], [time1], [time2], [rn]) VALUES (2, N'Bottom', 0.2232, CAST(0x00009CF1017B0740 AS DateTime), CAST(0x00009CF1018B3BB0 AS DateTime), N'23:00-23:59') /****** Object: Table [dbo].[班组] Script Date: 09/23/2017 17:03:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[班组]( [id] [int] NULL, [name] [varchar](50) NULL, [time1] [datetime] NULL, [time2] [datetime] NULL, [daycnt] [int] NOT NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO INSERT [dbo].[班组] ([id], [name], [time1], [time2], [daycnt]) VALUES (1, N'早班', CAST(0x0000000000000000 AS DateTime), CAST(0x000000000083D600 AS DateTime), 0) INSERT [dbo].[班组] ([id], [name], [time1], [time2], [daycnt]) VALUES (2, N'中班', CAST(0x000000000083D600 AS DateTime), CAST(0x000000000107AC00 AS DateTime), 0) INSERT [dbo].[班组] ([id], [name], [time1], [time2], [daycnt]) VALUES (3, N'晚班', CAST(0x000000000107AC00 AS DateTime), CAST(0x0000000100000000 AS DateTime), 1)
select t1.*, case when t1.maxValue<t2.maxValue then t1.maxValue-t1.minValue else t1.maxValue-t2.maxValue end v, t3.id,t3.name+cast(t3.rn as varchar) name,t3.price,t3.time1,t3.time2 ,t4.name name2 from ( SELECT t1.EquipmentID, t1.varid,t1.VarName,t1.maxValue,t1.MaxValueTime, t1.MinValue,t1.MinValueTime,t1.AvgValue,t1.time,max(t2.time) t FROM 数据 t1 left join 数据 t2 on t1.varid=t2.varid and t1.EquipmentID=t2.EquipmentID and t1.time>t2.time where t1.maxValue>0 and t2.maxValue>0 group by t1.EquipmentID, t1.varid,t1.VarName,t1.maxValue,t1.MaxValueTime, t1.MinValue,t1.MinValueTime,t1.AvgValue,t1.time )t1 left join 数据 t2 on t1.varid=t2.varid and t1.EquipmentID=t2.EquipmentID and t1.t=t2.time and t2.maxValue>0 left join 电费 t3 on dateadd(mi,-1,t1.time)>Convert(varchar(10),dateadd(mi,-1,t1.time),120)+' '+Convert(varchar(8),t3.time1,14) and dateadd(mi,-1,t1.time)<=Convert(varchar(10),dateadd(mi,-1,t1.time),120)+' '+Convert(varchar(8),t3.time2,14) left join 班组 t4 on dateadd(mi,0-t4.daycnt,t1.time)>dateadd(mi,0-t4.daycnt,Convert(datetime,Convert(varchar(10),dateadd(mi,0-t4.daycnt,t1.time),120)+' '+Convert(varchar(8),t4.time1,14))) and dateadd(mi,0-t4.daycnt,t1.time)<=dateadd(day,t4.daycnt,dateadd(mi,0-t4.daycnt,Convert(datetime,Convert(varchar(10),t1.time,120)+' '+Convert(varchar(8),t4.time2,14)))) order by t1.EquipmentID,t1.varid,t1.time效果:
select Convert(varchar(10),@td,120) time, e.equipmentid, e.parentid, e.name, cast(isnull(sum(t1.v),0) as decimal(18,2)) '日总电量', cast(isnull(sum(t1.v * t1.price),0) as decimal(18,2)) '日总电费', cast(isnull(sum(t2.v),0) as decimal(18,2))'早班电量', cast(isnull(sum(t2.v * t2.price),0) as decimal(18,2)) '早班电费', cast(isnull(sum(t3.v),0) as decimal(18,2))'中班电量', cast(isnull(sum(t3.v * t3.price),0) as decimal(18,2)) '中班电费', cast(isnull(sum(t4.v),0) as decimal(18,2))'晚班电量', cast(isnull(sum(t4.v * t4.price),0) as decimal(18,2)) '晚班电费', cast(isnull(sum(t5.v),0) as decimal(18,2))'尖时段电量', cast(isnull(sum(t5.v * t5.price),0) as decimal(18,2)) '尖时段电费', cast(isnull(sum(t6.v),0) as decimal(18,2))'峰时段电量', cast(isnull(sum(t6.v * t6.price),0) as decimal(18,2)) '峰时段电费', cast(isnull(sum(t7.v),0) as decimal(18,2))'谷时段电量', cast(isnull(sum(t7.v * t7.price),0) as decimal(18,2)) '谷时段电费', cast(isnull(sum(t8.v),0) as decimal(18,2))'平时段电量', cast(isnull(sum(t8.v * t8.price),0) as decimal(18,2)) '平时段电费' into ##temp4 from ##temp2 t1 left join ##temp2 t2 on t1.equipmentid = t2.equipmentid and t2.name2 = '晚班' and t1.time=t2.time and t1.varname=t2.varname left join ##temp2 t3 on t1.equipmentid = t3.equipmentid and t3.name2 = '早班' and t1.time=t3.time and t1.varname=t3.varname left join ##temp2 t4 on t1.equipmentid = t4.equipmentid and t4.name2 = '中班' and t1.time=t4.time and t1.varname=t4.varname left join ##temp2 t5 on t1.equipmentid = t5.equipmentid and t5.name like 'Peak%' and t1.time=t5.time and t1.varname=t5.varname left join ##temp2 t6 on t1.equipmentid = t6.equipmentid and t6.name like 'Top%' and t1.time=t6.time and t1.varname=t6.varname left join ##temp2 t7 on t1.equipmentid = t7.equipmentid and t7.name like 'Bottom%' and t1.time=t7.time and t1.varname=t7.varname left join ##temp2 t8 on t1.equipmentid = t8.equipmentid and t8.name like 'Common%' and t1.time=t8.time and t1.varname=t8.varname right join Equipment e on t1.equipmentid=e.equipmentid and t1.name2 in ('晚班','早班','中班') group by e.equipmentid,e.name,e.parentid order by e.equipmentid;
其他:
declare @dtime datetime set @dtime='2017-05-15' if object_id('tempdb..#班组') is not null exec('drop table #班组') select ShiftName name, StartTime , convert(char(10),dateadd(day,DATEDIFF(day,'1900-01-01 00:00:00.000',StartTime),@dtime),120)+' '+convert(char(8),StartTime,14) 开始时间, EndTime, convert(char(10),dateadd(day,DATEDIFF(day,'1900-01-01 00:00:00.000',EndTime),@dtime),120)+' '+convert(char(8),EndTime,14) 结束时间, GroupName into #班组 from dbo.ShiftSet2 select * from #班组
效果:
相关文章推荐
- 计算两个日期之间所间隔天数的快速算法
- 计算两点经纬度之间的算法
- 【算法集中营】计算两个日期之间的天数
- 计算两个IP之间的所有IP的算法
- [python]My Unique JsonDiff算法——如何计算2个json串之间的差距并Diff出来(一):编辑距离(Levenshtein)算法
- java通过经纬度计算两个点的之间的距离的算法
- 电费的计算:终于明白目录电价是干什么用的了
- 计算两个时间戳之间的天数的一种比较高效的算法
- 从键盘上输入一个后缀表达式,试编写算法计算表达式的值。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算。例如:234 34+2*$。
- matlab局部最优和全局最优算法
- 计算1-100之间的的常用算法
- 全局比对 局部比对 Needleman-Wunsch 算法
- java通过经纬度计算两个点的之间的距离的算法
- java通过经纬度计算两个点的之间的距离的算法 (单位:米)
- 计算两个经纬度之间的距离(python算法)
- 经典算法:计算两个日期之间的天数
- static 全局变量 全局变量 静态局部变量 局部变量 静态函数 普通函数 之间的区别
- 算法-计算无向图中两个节点之间所有的路径
- 算法--计算两个绝对路径之间的相对路径
- 计算2个日期之间的整月数的算法