sql server 查询同一时刻中的多笔数据中的最大值问题。
我现在有一个DB在不断接收数据,比如11:15:41这一秒钟出现了6笔数据123532123521352我想取出其中最大的数据所对应的行。请问如何才能实现。时间是不断的增...
我现在有一个DB在不断接收数据,比如11:15:41 这一秒钟出现了6笔数据 123 53 2 123 5213 52 我想取出其中最大的数据所对应的行。请问如何才能实现。
时间是不断的增加,每一秒钟的数据量也是不同,有可能6笔,也有可能10笔 或者1笔数据 等等,请指教!最终结果肯定是
11:15:41 5213
11:15:42 xxxx
11:15:43 xxxx
以此类推
看来我还是没有说清楚.
这个数据每天有10个小时在收集,所以我不可能把时间拿出来比较 = 11:15:41 这样的去求各个时间的max,我需要做一个统计出来的结果是 每个秒钟的时间点对应获得一个数字。 展开
时间是不断的增加,每一秒钟的数据量也是不同,有可能6笔,也有可能10笔 或者1笔数据 等等,请指教!最终结果肯定是
11:15:41 5213
11:15:42 xxxx
11:15:43 xxxx
以此类推
看来我还是没有说清楚.
这个数据每天有10个小时在收集,所以我不可能把时间拿出来比较 = 11:15:41 这样的去求各个时间的max,我需要做一个统计出来的结果是 每个秒钟的时间点对应获得一个数字。 展开
展开全部
假设表结构为:
字段1 字段2
11:15:41 5213
11:15:42 1
11:15:43 2
11:15:41 1
11:15:41 2
select 字段1,MAX(字段2) from TB_1
WHERE 字段1=11:15:41
group by 字段1
结果:5213
是否是你想要的结果?
追问
1个小时会有3600秒,我总不能每个都写成字段1 = 11:15:41 这样吧,感谢赐教。不过,还不是我想要的。
追答
--第1步:导表进去;导后结构为:
1899-12-30 11:15:41.0005213
1899-12-30 11:15:41.00011
1899-12-30 12:15:42.00023
1899-12-30 13:15:42.000123
1899-12-30 14:15:43.0001
--第2步:给表中所有表加row号,新加一个表TB2
select 字段1,字段2,ROW_NUMBER() over(order by 字段2) as rownumber
into tb2
from TB1
--第3步:查TB1,求最大值;
select 字段1,MAX(字段2) as 字段2
into tb3
from TB1
group by 字段1
--第4步:tb3与TB2合并,求最得行号:
select b.*,a.rownumber from tb2 a,tb3 b
where a.字段1=b.字段1 and a.字段2=b.字段2
--结果
1899-12-30 14:15:43.00011
1899-12-30 12:15:42.000233
1899-12-30 13:15:42.0001234
1899-12-30 11:15:41.00052135
我思路也有点搞乱了,为了清楚点我就笨办法 一步一步做的。这样思路清楚点,中间有些步骤应该可以合并为一句!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询