数据 库是MYSQL5的,数据的表结构如下:
数据记录样本如下图示:
现在我要按某一段时间内来统计查出online、counter、loginer的最大数,这个时间段有可能是一个月的每一天,有可能是某一天的每一个小时,也就是说,每一天里查出online、counter、loginer的最大数,或者每一个小时里查出online、counter、loginer的最大数,分别显示。
有谁能给出个好点的SQL语句或存储过程么?
`select max(online) as maxOnline,max(counter) as maxCounter,max(loginer) as maxLoginer
from t_visitonline
where recordtime>=begin_tm AND recordtime虽然可以实现功能,但如果每次实时进行统计,随着表数据量越来越大,效率会越来越低。
如果统计时间最小单位是小时,建议新建一个统计表,每小时自动生产一份统计数据,这样每天最多24条数据。
在统计表上进行统计,效率会高很多。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。