`

mysql 两列时间之差计算

 
阅读更多
 

 String sql="  SELECT  w.work_id, w.room_id,rm.name,CAST(sec_to_time(sum(unix_timestamp(statusTime.end_time)-unix_timestamp(statusTime.create_time))) as CHAR  )as times"+
                  ",w.number,statusTime.create_time,statusTime.end_time FROM status_time statusTime,workorder w,room  rm"
                  +" where statusTime.work_id=w.work_id and rm.id=w.room_id and statusTime.sid='dealing' group by work_id  having " +buildSql(startDate,  endDate,  sid)+"  order by times desc limit 5  ";
  
    List<Object> obj = this.getSession().createSQLQuery(sql).list();
    List<OrderRoomEntity> reList = new ArrayList<OrderRoomEntity>();
    for (int i = 0; i < obj.size(); i++) {
   Object []object=(Object[]) obj.get(i);
   OrderRoomEntity ore=new OrderRoomEntity();
   Integer day=0;
   String time=object[3].toString();
   String times[]=time.split(":");
   Integer hours=new Integer(times[0]);
   Integer mm=new Integer(times[1]);
   Integer ss=new Integer(times[2]);
   Integer s=hours*60*60+mm*60+ss;
   ore.setNum(new Long(s));
   if(hours>24)
   {
    day=hours/24; //天数
    hours=hours%24; //小时
   }
   ore.setTimeString(day+"天"+hours+"小时"+times[1]+"分钟  "+times[2]+" 秒  ");
   System.out.println(ore.getTimeString());
   ore.setRoomId(new Long((object[1].toString())));
   ore.setRoomName(object[2].toString());
   ore.setProjectId(new Long((object[0].toString())));
   ore.setProjectName(object[4].toString());
  
   reList.add(ore);
  }
  
  return reList;

分享到:
评论

相关推荐

    Mysql 相邻两行记录某列的差值方法

    在MySQL数据库中,有时我们需要计算数据表中相邻两行记录某个特定列的差值,这在数据分析、时间序列分析或追踪变化趋势时非常常见。本文将详细解释如何实现这一操作,以满足类似的需求。 首先,我们需要理解问题的...

    MySQL索引背后的数据结构及算法原理

    ### MySQL索引背后的数据结构及算法原理 #### 数据结构及算法基础 在深入探讨MySQL索引之前,我们首先需要理解索引的本质以及支撑其高效运作的基础数据结构。 **索引的本质** MySQL官方给出的索引定义是:“索引...

    Mysql利用group by分组排序

    例如,如果我们有一个`orders`表,其中包含`customer_id`和`total_amount`两列,我们想要计算每个客户的总消费,可以使用以下语句: ```sql SELECT customer_id, SUM(total_amount) FROM orders GROUP BY customer_...

    mysql的数据类型.pdf

    MySQL 数据类型是数据库管理系统中用来定义列数据结构的关键部分,它们决定了可以存储何种类型的数据以及数据的存储方式。以下是对MySQL中主要数据类型的详细说明: 1. **数值型**: - `TINYINT`:非常小的整数,...

    MySQL的查询计划中ken_len的值计算方法

    当我们创建一个联合索引,比如`ix(b, c)`,如果查询同时涉及到这两列,`key_len` 将会反映出两列的总长度。在整数类型的情况下,如果每列都是4字节,那么联合索引的长度将是8字节(4字节+4字节)。这表明整个联合...

    mysql索引对排序的影响实例分析

    而当我们使用`ORDER BY`语句对结果集进行排序时,如果没有索引,数据库系统通常需要先进行全表扫描,然后对扫描到的数据进行排序,这个过程称为“文件排序”(Using filesort),它会消耗大量的计算资源和时间。...

    LD的两字符串相似度计算.zip

    1. **效率优化**:虽然基本的动态规划算法的时间复杂度是O(n*m),其中n和m分别是两个字符串的长度,但在实际应用中,可以采用空间优化技巧,如Wagner-Fischer算法的空间优化版本,只保留两行或两列来降低空间需求。...

    MySQL 数据库原理及应用 期末速通 期末考试试题

    ### MySQL 数据库原理及应用 期末速通 期末考试试题 #### 重要知识点解析 **一、单选题解析** 1. **数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)的关系** - 正确选项:A - 解析:DBS 包括 DB 和 DBMS。...

    Java项目-基于springboot框架的时间管理系统项目实战(附源码+文档)

    界面上,菜单项被精心组织成两列,每列五个选项,方便用户快速找到所需功能。整个系统旨在帮助用户高效地管理时间和任务,提升工作效率。 系统功能列举: 首页:系统入口,可能展示用户当前的任务进度或系统概览。 ...

    公历农历对照表, 用于数据库开发

    可以创建索引来加速查找,或者预计算并存储所有可能的对照结果,减少实时计算。 4. **编程语言支持**:不同的编程语言有不同的日期时间库,如Python的`pandas`和`python-lunar-calendar`,Java的`java.util....

    R语言经典实例(中+英)

     14.8 计算逐次差分 381  14.9 时间序列相关的计算 382  14.10 计算移动平均 383  14.11 在日历时间范围内应用函数 384  14.12 应用滚动函数 386  14.13 绘制自相关函数图 388  14.14 检验时间序列的自相关 ...

    2021-2022计算机二级等级考试试题及答案No.18485.docx

    - **解释**: 时间复杂度用来评估算法的运行时间随着输入规模的增长而增长的速度,是衡量算法效率的重要指标之一。 ### 22. E-R图到关系模式的转换 - **知识点**: 将E-R图转换到关系模式时,实体与联系都可以表示成...

    2021-2022计算机二级等级考试试题及答案No.11342.docx

    - **应用实例**:数值型和日期型数据可以直接进行减法运算,如计算两个日期之间的天数差。 #### 存储器分类 - **知识点概述**:计算机系统中的存储器按照不同的作用可以分为:主存储器(内存)、辅助存储器(如硬盘...

    2021-2022计算机二级等级考试试题及答案No.16398.docx

    ` 也是一个合法的二维数组定义方式,其中数组的行数未指定,编译器会自动计算。此例中,编译器将根据初始值的数量来推断出数组应该为2x2。 - 选项C中的`int a[2][2]={{1},2,3};` 是一个常见的错误示例,当使用花...

    CMDEV认证培训包-3期(PX020) PX 020 030202 169习题.docx

    问题四:以下哪些情况会导致MySQL产生警告?A. 当无法完全满足一个请求时。B. 当发生系统级错误时。C. 当一个操作可能有未预期的副作用时。答案:A,C 问题五:以下哪些陈述是正确的?A. 当预期有许多读取和少量...

    SQL21简单语句1111111111111111

    - **VARIANCE**、**STDDEV**:分别计算方差和标准差。 - **日期/时间函数**: - **ADD_MONTHS**、**LAST_DAY**、**MONTHS_BETWEEN**等,用于处理日期和时间数据。 - **数学函数**:如**ABS**(绝对值)、**CEIL**...

    SQL21自学通

    此查询将从`employees`表中选择`employee_name`和`hire_date`两列,条件是`department_id`等于50。 ### 第三天:表达式、条件语句与运算 #### 表达式 SQL中的表达式可以包含常量、变量、列名、函数调用以及算术或...

    让你的insert操作速度增加1000倍的方法

    创建一个临时表#tempTable,包含两列:`Item ID`和`Item Name`,然后通过WHILE循环逐条插入数据。这种方法对于小规模的数据插入可能尚可接受,但当需要插入数百万甚至上千万条记录时,其效率极其低下,可能需要数天...

    linux命令英文全称(帮助记忆,让命令变的很简单).pdf

    45. `cron`:Chronos - 希腊神话中的时间之神,定时任务调度器。 46. `cups`:Common Unix Printing System - Unix打印系统。 47. `cvs`:Current Version System - 版本控制系统。 48. `daemon`:Disk And ...

Global site tag (gtag.js) - Google Analytics