开发者社区> 问答> 正文

根据下面的数据,有没有更好的存储过程语句?

数据 库是MYSQL5的,数据的表结构如下:
4
数据记录样本如下图示:
5
现在我要按某一段时间内来统计查出online、counter、loginer的最大数,这个时间段有可能是一个月的每一天,有可能是某一天的每一个小时,也就是说,每一天里查出online、counter、loginer的最大数,或者每一个小时里查出online、counter、loginer的最大数,分别显示。
有谁能给出个好点的SQL语句或存储过程么?

展开
收起
落地花开啦 2016-02-13 11:06:44 2151 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    `select max(online) as maxOnline,max(counter) as maxCounter,max(loginer) as maxLoginer
    from t_visitonline
    where recordtime>=begin_tm AND recordtime虽然可以实现功能,但如果每次实时进行统计,随着表数据量越来越大,效率会越来越低。
    如果统计时间最小单位是小时,建议新建一个统计表,每小时自动生产一份统计数据,这样每天最多24条数据。
    在统计表上进行统计,效率会高很多。

    2019-07-17 18:41:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MySQL查询优化实战 立即下载
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
MaxCompute SQL计算成本调优以及优化方法 立即下载