1.实现功能场景:统计一天中工作时间
2.建表:
create table `loadmovement` (
`uuid` varchar (96),
`criminalId` varchar (96),
`movementdate` datetime ,
`exitTime` varchar (60),
`ReturnTime` varchar (60),
`nextDateIndicator` double ,
`moveDays` double ,
`modifyTime` datetime ,
`createTime` datetime ,
`valid` double
);
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c616bf0129c6178c3a0003','402880e928c7ca190128c7dd863d0005','2010-07-12 17:58:38','11:15:00','00:30:00','1','2','2010-07-12 19:05:44','2010-07-12 17:58:38','0');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c9870e280003','402880e928c7ca190128c7dd863d0005','2010-07-13 09:59:18','01:00:00','00:30:00','1','2','2010-07-13 10:14:02','2010-07-13 09:59:18','0');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c9870e280004','402880e928c7ca190128c7dd863d0005','2010-07-13 09:59:18','11:30:00','01:00:00','1','2','2010-07-13 10:04:12','2010-07-13 09:59:18','0');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c9870e280005','402880e928c7ca190128c7dd863d0005','2010-07-13 09:59:18','11:00:00','00:00:00','1','1','2010-07-13 10:12:30','2010-07-13 09:59:18','0');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c9870e280006','402880e928c7ca190128c7dd863d0005','2010-07-13 09:59:18','11:45:00','01:00:00','1','3','2010-07-13 10:09:27','2010-07-13 09:59:18','0');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c99b1b56000d','402880e928c7ca190128c7dd863d0005','2010-07-13 10:21:12','11:30:00','00:45:00','1','2','2010-07-13 10:22:08','2010-07-13 10:21:12','0');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c9a42378000f','402880e928c7ca190128c7dd863d0005','2010-07-13 10:31:04','11:30:00','00:15:00','1','4','2010-07-13 10:31:04','2010-07-13 10:31:04','1');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c9a423780010','402880e928c7ca190128c7dd863d0005','2010-07-13 10:31:04','11:30:00','01:00:00','1','2','2010-07-13 10:31:04','2010-07-13 10:31:04','1');
insert into `loadmovement` (`uuid`, `criminalId`, `movementdate`, `exitTime`, `ReturnTime`, `nextDateIndicator`, `moveDays`, `modifyTime`, `createTime`, `valid`) values('402880e929c97a710129c9a423780011','402880e928c7ca190128c7dd863d0005','2010-07-13 10:31:04','11:00:00','00:45:00','1','1','2010-07-13 10:31:04','2010-07-13 10:31:04','1');
3.查询:
select moveDays, TIME_FORMAT(
SEC_TO_TIME(sum(case when nextDateIndicator=1
then
TIME_TO_SEC(returnTime)-TIME_TO_SEC(exitTime)+TIME_TO_SEC('24:00:00')
else
TIME_TO_SEC(returnTime)-TIME_TO_SEC(exitTime)
end)),'%T') as calcTime, returnTime,exitTime
from loadmovement where criminalId='402880e928c7ca190128c7dd863d0005'
group by moveDays
4.说明TIME_FORMAT非常重要,本人就是缺少了这个函数,致使在前端的显示为(1970/1/1),若要显示为(HH:mm:ss)格式,须加上此函数
分享到:
相关推荐
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列...
然后,使用`GROUP BY`语句按书籍ID进行分组,以便为每本书计算聚合值。例如,`today_pay_money`和`today_pay_num`分别表示当天的支付金额和支付次数,其他类似字段表示不同时间段的数据。 在性能分析方面,使用子...
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列...
- **时间类型**: TIME用于存储时间值,不包含日期部分。 - **日期时间类型**: DATETIME用于存储日期和时间值。 - **选择建议**: 根据实际需求选择合适的日期时间类型。 **1.4.5 字符串类型** - **固定长度**: CHAR...
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列...
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列...
TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. ...
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5...
- **分组与聚合函数**:使用`GROUP BY`对结果集按一个或多个列进行分组,并结合聚合函数(如`COUNT`, `SUM`, `AVG`等)计算每组的统计值。 ### 性能优化 - **索引**:通过为表的某些列创建索引来提高查询效率。 - ...
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列...
日期和时间函数(DATE, TIME, NOW, DATE_ADD, DATE_SUB)处理日期和时间值。 4. **字符类型**:在MySQL中,数据有多种字符类型,如VARCHAR用于可变长度的字符串,CHAR用于固定长度的字符串,TEXT用于存储大量文本,...
`Max_used_connections`和`Max_used_connections_time`统计了在特定时间范围内的最大并发连接数和时间点。 #### 18. MySQL高可用与GTID `enforce_gtid_consistency=ON`可以确保事务在执行时遵守GTID一致性要求,...
3. **数据类型**:MySQL支持多种数据类型,如数值类型(INT、FLOAT、DOUBLE等)、字符串类型(VARCHAR、CHAR等)、日期和时间类型(DATE、TIME、DATETIME等)。选择合适的数据类型可以节省存储空间并提高查询效率。 ...
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列...
11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 ...
- 常用于处理系统日志、用户行为记录等,方便进行时间范围内的数据筛选和统计分析。 **4. 转换表格式** - **函数介绍** - `MYSQL_CONVERT_TABLE_FORMAT`: 用于转换表的存储引擎。 - **使用条件** - 需要安装...
总结起来,这个项目结合了MySQL存储过程的使用,用于高效计算金融数据的统计指标,以及Java编程,利用JFreeChart库绘制这些指标随时间变化的曲线,为投资者提供了直观的分析工具。这样的技术组合在金融领域非常常见...