mysql-关于时间段的汇总查询,如何实现?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-关于时间段的汇总查询,如何实现?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2981字,纯文字阅读大概需要5分钟。
内容图文
![mysql-关于时间段的汇总查询,如何实现?](/upload/InfoBanner/zyjiaocheng/567/db9b063e63924c72b993cff5ade820d9.jpg)
sign db_username db_ip beginTime endTime
downloadFiles tom 125.92.142.224 1378063471 1378063472
downloadFiles tom 125.92.142.224 1378072128 1378072129
downloadFiles tom2 84.14.196.239 1378077892 1378077893
downloadFiles tom2 84.14.196.239 1378077893 1378077894
downloadFiles tom2 84.14.196.239 1378077894 1378077895
downloadFiles tom2 84.14.196.239 1378077895 1378077896
downloadFiles tom2 84.14.196.239 1378077896 1378077897
downloadFiles tom2 84.14.196.239 1378077897 1378077898
downloadFiles tom2 84.14.196.239 1378079181 1378079182
downloadFiles tom2 84.14.196.239 1378079181 1378079182
downloadFiles tom2 84.14.196.239 1378079182 1378079183
downloadFiles tom2 84.14.196.239 1378079182 1378079183
downloadFiles tom2 84.14.196.239 1378079184 1378079185
downloadFiles tom2 84.14.196.239 1378079184 1378079185
downloadFiles tom2 84.14.196.239 1378079184 1378079185
downloadFiles tom2 84.14.196.239 1378079185 1378079186
downloadFiles tom2 84.14.196.239 1378079185 1378079186
downloadFiles tom2 84.14.196.239 1378079185 1378079186
downloadFiles tom2 84.14.196.239 1378079188 1378079189
downloadFiles tom2 84.14.196.239 1378079188 1378079189
downloadFiles tom2 84.14.196.239 1378079189 1378079190
downloadFiles tom2 84.14.196.239 1378079190 1378079191
downloadFiles tom2 84.14.196.239 1378079190 1378079191
downloadFiles tom2 84.14.196.239 1378079191 1378079192
downloadFiles tom2 84.14.196.239 1378079192 1378079193
我数据库里有这样的数据(关于时间值,我己转为unix 时间戳,方便比较)
现在我想要查询一个用户不重复的时间段的总和(如有重复的时间段,不计入总和,只计一次)
如 tom 第一条 为 2013-09-11 18:22:34 as T1 2013-09-11 18:22:54 as T2
第二条 为 2013-09-11 18:23:34 as T3 2013-09-11 18:24:54 as T4
SUM=(T2-T1)+(T4-T3) boz T3>T2
如果 第二条 为 2013-09-11 18:24:00 as T3 2013-09-11 18:24:54 as T4
SUM=(T4-T1) boz T3T1
如果 第二条 为 2013-09-11 18:22:37 as T3 2013-09-11 18:22:50 as T4
sum=T2-T1 boz T3<T1 && T4<T1
想将各个用户的时间段总和求出来
结果集为
downloadFiles tom 125.92.142.224 TotalTime 15(seconds)
downloadFiles tom2 84.14.196.239 TotalTime 309(seconds)
分组为sign/username/ip
想用一句SQL或存储过程实现
避免用通过loop来累积时间段总和,效率又太低了
大家有什么好的办法呢
如己加了标签 2013-09-11 18:22:34 as T1 2013-09-11 18:22:54 as T2
但新记录为 2013-09-11 18:18:34 as T3 2013-09-11 18:23:54 as T4
又要重新算总值
我的目的,是求一個用戶,傳輸文件的總時間,但不要重復的時間段
如3到5點,傳一百個文件,不能sum(100*2) 只能2 h
一個文件是2:00-3:00 別一個文件是 2:30-3:00 total 為 3-2=1
一個文件是2:00-3:00 別一個文件是 2:30-3:30 total 為 3.5-2=1.5
内容总结
以上是互联网集市为您收集整理的mysql-关于时间段的汇总查询,如何实现?全部内容,希望文章能够帮你解决mysql-关于时间段的汇总查询,如何实现?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。