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官方给出的索引定义是:“索引...
例如,如果我们有一个`orders`表,其中包含`customer_id`和`total_amount`两列,我们想要计算每个客户的总消费,可以使用以下语句: ```sql SELECT customer_id, SUM(total_amount) FROM orders GROUP BY customer_...
MySQL 数据类型是数据库管理系统中用来定义列数据结构的关键部分,它们决定了可以存储何种类型的数据以及数据的存储方式。以下是对MySQL中主要数据类型的详细说明: 1. **数值型**: - `TINYINT`:非常小的整数,...
当我们创建一个联合索引,比如`ix(b, c)`,如果查询同时涉及到这两列,`key_len` 将会反映出两列的总长度。在整数类型的情况下,如果每列都是4字节,那么联合索引的长度将是8字节(4字节+4字节)。这表明整个联合...
而当我们使用`ORDER BY`语句对结果集进行排序时,如果没有索引,数据库系统通常需要先进行全表扫描,然后对扫描到的数据进行排序,这个过程称为“文件排序”(Using filesort),它会消耗大量的计算资源和时间。...
1. **效率优化**:虽然基本的动态规划算法的时间复杂度是O(n*m),其中n和m分别是两个字符串的长度,但在实际应用中,可以采用空间优化技巧,如Wagner-Fischer算法的空间优化版本,只保留两行或两列来降低空间需求。...
### MySQL 数据库原理及应用 期末速通 期末考试试题 #### 重要知识点解析 **一、单选题解析** 1. **数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)的关系** - 正确选项:A - 解析:DBS 包括 DB 和 DBMS。...
界面上,菜单项被精心组织成两列,每列五个选项,方便用户快速找到所需功能。整个系统旨在帮助用户高效地管理时间和任务,提升工作效率。 系统功能列举: 首页:系统入口,可能展示用户当前的任务进度或系统概览。 ...
可以创建索引来加速查找,或者预计算并存储所有可能的对照结果,减少实时计算。 4. **编程语言支持**:不同的编程语言有不同的日期时间库,如Python的`pandas`和`python-lunar-calendar`,Java的`java.util....
14.8 计算逐次差分 381 14.9 时间序列相关的计算 382 14.10 计算移动平均 383 14.11 在日历时间范围内应用函数 384 14.12 应用滚动函数 386 14.13 绘制自相关函数图 388 14.14 检验时间序列的自相关 ...
- **解释**: 时间复杂度用来评估算法的运行时间随着输入规模的增长而增长的速度,是衡量算法效率的重要指标之一。 ### 22. E-R图到关系模式的转换 - **知识点**: 将E-R图转换到关系模式时,实体与联系都可以表示成...
- **应用实例**:数值型和日期型数据可以直接进行减法运算,如计算两个日期之间的天数差。 #### 存储器分类 - **知识点概述**:计算机系统中的存储器按照不同的作用可以分为:主存储器(内存)、辅助存储器(如硬盘...
` 也是一个合法的二维数组定义方式,其中数组的行数未指定,编译器会自动计算。此例中,编译器将根据初始值的数量来推断出数组应该为2x2。 - 选项C中的`int a[2][2]={{1},2,3};` 是一个常见的错误示例,当使用花...
问题四:以下哪些情况会导致MySQL产生警告?A. 当无法完全满足一个请求时。B. 当发生系统级错误时。C. 当一个操作可能有未预期的副作用时。答案:A,C 问题五:以下哪些陈述是正确的?A. 当预期有许多读取和少量...
- **VARIANCE**、**STDDEV**:分别计算方差和标准差。 - **日期/时间函数**: - **ADD_MONTHS**、**LAST_DAY**、**MONTHS_BETWEEN**等,用于处理日期和时间数据。 - **数学函数**:如**ABS**(绝对值)、**CEIL**...
此查询将从`employees`表中选择`employee_name`和`hire_date`两列,条件是`department_id`等于50。 ### 第三天:表达式、条件语句与运算 #### 表达式 SQL中的表达式可以包含常量、变量、列名、函数调用以及算术或...
创建一个临时表#tempTable,包含两列:`Item ID`和`Item Name`,然后通过WHILE循环逐条插入数据。这种方法对于小规模的数据插入可能尚可接受,但当需要插入数百万甚至上千万条记录时,其效率极其低下,可能需要数天...
45. `cron`:Chronos - 希腊神话中的时间之神,定时任务调度器。 46. `cups`:Common Unix Printing System - Unix打印系统。 47. `cvs`:Current Version System - 版本控制系统。 48. `daemon`:Disk And ...