多个逻辑处理,一个SQL能搞定吗?求助

njsteve 2013-05-03 09:10:17
START_CI name_id start_time stay_time(分钟)
11933 test01 2013-1-7 11:01 779
38165 test02 2013-1-7 8:36 284
3244 test02 2013-1-7 13:20 316
38165 test02 2013-1-7 18:36 303
3210 test02 2013-1-7 23:39 21
一天划分的时间段为:
休息时段:1 0:00~08:00 共8小时
工作时段1: 08:00~12:00 共4小时
午休时段: 12:00~14:00 共2小时
工作时段2: 14:00~18:00 共4小时
休闲时段: 18:00~23:00 共5小时
休息时段2: 23:00~00:00 共1小时
现在统计每个用户在不同的时间段驻留时长。
期望结果:
用户test01
工作时段1: 08:00~12:00 59分钟( 在11933处) 11933
午休时段: 12:00~14:00 2小时( 在11933处) 11933
工作时段2: 14:00~18:00 4小时( 在11933处) 11933
休闲时段: 18:00~23:00 5小时( 在11933处) 11933
休息时段: 23:00~00:00 1小时( 在11933处) 11933

用户 test02
休息时段1: 0:00~08:00 (说明:最开始时间是:2013-1-7 8:36:00 故可不算,删除这个时间段)
工作时段1: 08:00~12:00 (12:00-8:36=3小时24分(小区 38165)) 38165 test02
午休时段: 12:00~14:00 (284-3:24=80分钟(小区 38165)(这条记录是拆分的,由于TEST02用户在38165驻留时长284分钟,在8:00~12:00区间驻留时长为3:24分钟,还剩余的时长,放到休息时间段中)) 38165 test02
午休时段: 12:00~14:00 (40分钟(小区 3244)) 3244 test02
工作时段2: 14:00~18:00 (316-40=276分钟(小区 3244 也是拆分的记录)) 3244 test02
休闲时段: 18:00~23:00 36分(小区 3244 此条记录 也是拆分的记录)) 3244 test02
休闲时段: 18:00~23:00 4小时24分(小区 38165) 38165 test02
休息时段2: 23:00~00:00 39分(小区 38165) 38165 test02
休息时段2: 23:00~00:00 21分(小区 3210) 3210 test02

测试脚本脚本为:
create table TEST
(
START_CI NUMBER(32),
name_id VARCHAR2(25),
TIME_STAMP DATE,
stay_time number(10)
);
insert into TEST (START_CI,name_id,TIME_STAMP) values(11933,'test01',to_date('2013010711:01:00','yyyymmdd hh24:mi:ss'),779);
insert into TEST (START_CI,name_id,TIME_STAMP) values(38165,'test02', to_date('2013010708:36:00','yyyymmdd hh24:mi:ss'),284);
insert into TEST (START_CI,name_id,TIME_STAMP) values(3244,'test02', to_date('2013010713:20:00','yyyymmdd hh24:mi:ss'),316);
insert into TEST (START_CI,name_id,TIME_STAMP) values(38165,'test02', to_date('2013010718:36:00','yyyymmdd hh24:mi:ss'),303);
insert into TEST (START_CI,name_id,TIME_STAMP) values(3210,'test02', to_date('20130107 23:39:00','yyyymmdd hh24:mi:ss'),21);
...全文
190 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
njsteve 2013-05-03
  • 打赏
  • 举报
回复
好的 你有空也帮我想想呢
u010412956 2013-05-03
  • 打赏
  • 举报
回复
itpub 论坛 oracle开发区能人很多,去问吧。
njsteve 2013-05-03
  • 打赏
  • 举报
回复
是急 可是没有想出 很快上线了。如果用游标数据量太大,左循环右循环的, 也很麻烦。麻烦楼上的抽空帮想想,不胜感激。我的邮箱是: 能否私下交流 shenlz163@163.com
u010412956 2013-05-03
  • 打赏
  • 举报
回复
这个要花点时间想下,可惜现在没空。 楼主如果急,可以去itpub发个贴,说不定回复的机会大多了。
文末附数据集可视化效果图。 【数据集概况】 · 检测类别(中文):[护栏(bollard)] · 训练集:2239 张 · 验证集:640 张 · 测试集:320 张 · 总计:3199 张 城市街道护栏目标检测数据集... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 94 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.7341** mAP50-95 | 0.3921 Precision | 0.7873 Recall | 0.6713 train/box_loss | 1.5260 train/cls_loss | 0.8206 val/box_loss | 1.7977 val/cls_loss | 1.1156 【训练过程分析】 94 轮训练后 mAP50 为 0.7341,模型基本收敛但还有提升余地。Loss 曲线下降正常,后期趋于平缓。mAP50-95 为 0.3921,和 mAP50 差距 0.34,定位精度是主要短板。 【模型性能评估】 Precision 0.7873、Recall 0.6713,精度高于召回,存在一定漏检。 【预测效果展示】 验证集预测效果一般,大部分目标能被检出,但存在部分漏检或框边缘贴合度不足的情况。 【改进建议】 1. 增强难例挖掘:在大规模数据中筛选误检、漏检样本做针对性增强。 2. 提升输入分辨率:640 对定位精度支撑不足,尝试 800 或 1024 改善 mAP50-95。 3. 调优 NMS 和置信度阈值:当前精召偏低,适当调整过滤阈值平衡输出质量。 【预测效果展示】

17,133

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧