• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > sql 相邻2条记录时间差比较

sql 相邻2条记录时间差比较

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了sql等相关知识,希望本文的分享对您有所帮助
下午看到项目有个统计报表的生成,其中XX表中记录相邻2条记录统计时间差 即

表中数据如下:


要求相邻2条记录 如第1条和第2条记录创建时间差统计出来

即

zhouhui 5秒

dingxiang 24秒

需求出来了需要解决,后来找到解决办法了

方法 1:

Sql代码 收藏代码

  1. select t.username,(max( t.CREATIONDATE)-min(t.CREATIONDATE))*24*60*60,count(t.username)/2

  2. from ofloginlog t

  3. --where USERNAME = 'zhouhui'

  4. group by t.username

通过分组 统计出用户在线时长(即前后2条记录作差)

效果图:

说明 最后一个字段我是用来统计 用户登录次数使用的。

oracle 两个时间相减默认的是天数

oracle 两个时间相减默认的是天数*24 为相差的小时数

oracle 两个时间相减默认的是天数*24*60 为相差的分钟数

oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数

方法2:

Sql代码 收藏代码

  1. select username, sum(b), count(username) / 2

  2. from (select id, username, (CREATIONDATE - lgtime) * 24 * 60 * 60 as b

  3. from (select t.*,

  4. lag(type) over(partition by username order by CREATIONDATE) lgtype,

  5. lag(CREATIONDATE) over(partition by username order by CREATIONDATE) lgtime

  6. from ofloginlog t))

  7. -- where USERNAME = 'zhouhui')

  8. group by username

实现效果 一样 这里不帖了

又复习了一下基本的SQL 了 呵呵

20100520 需求有些变更 要求统计个数不是统计TYPE 1 和0 记录之和均值,只统计TYPE=0 的值,

这样SQL 的分组就不能这样了,想了一下改进了SQL

Sql代码 收藏代码

  1. select g.username, g.time, h.count

  2. from (select t.username,

  3. floor((max(t.CREATIONDATE) - min(t.CREATIONDATE)) * 24 * 60 * 60) as time

  4. from ofloginlog t, ofuser b

  5. where 1 = 1

  6. and t.username = b.username

  7. group by t.username) g,

  8. (select t.username,

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-12-05SQL Server允许重复空字段不空字段值唯一
  • 2017-05-11分享CentOS下MySQL最新版本5.6.13源码安装过程
  • 2017-05-11MYSQL 批量替换之replace语法的使用详解
  • 2018-12-05MySQL性能优化 出题业务SQL优化
  • 2017-05-11MySQL ORDER BY 的实现分析
  • 2018-12-05jdbc连接操作mysql,直接操作和预处理方式
  • 2018-12-05在Oracle数据库上设置限制ip地址访问以及需要注意的事项
  • 2018-12-05MySQL之-服务器保持与MySQL的连接详解(图)
  • 2017-05-11深度分析mysql GROUP BY 与 ORDER BY
  • 2018-12-05SQL Server日志过大会影响查询结果

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • sql数据库语句优化分析和优化技巧总结(sql优化工具)
    • 【MySQL数据库】第一章解读:MySQL架构与历史
    • mac安装配置mysql的详情介绍
    • MySQL中不能创建自增字段的解决方法
    • MYSQL中获取得最后一条记录的语句
    • 解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)
    • 关于反引号的8篇文章推荐
    • mysql5.7第一次登录修改root密码
    • Access数据库的存储上限
    • SQLServer 数据修复命令DBCC一览

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有