按天、周、月、自定义时间段统计

本文介绍了如何根据不同的时间类型(天、周、月、自定义时间范围)使用SQL进行任务名称、日期、成功次数、失败次数的聚合查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

if("day".equals(tongjiType)){ sql = "select task.task_name,to_char(sysdate, 'yyyy-mm-dd'),\n" + " count(log.timertaskid),\n" + " sum(log.successcount),\n" + " sum(log.failcount)\n" + " from table_exchange_task task\n" + " join table_exchange_timer_task timer\n" + " join table_exchange_timer_task_log log\n" + " on (timer.id = log.timertaskid) ON(task.id = timer.task_id)\n" + " where to_char(sysdate, 'yyyy-mm-dd') =\n" + " to_char(log.starttime, 'yyyy-mm-dd')\n" + " group by task.task_name"; } else if("week".equals(tongjiType)) { sql = "select task.task_name,1,\n" + " count(log.timertaskid),\n" + " sum(log.successcount),\n" + " sum(log.failcount)\n" + " from table_exchange_task task\n" + " join table_exchange_timer_task timer\n" + " join table_exchange_timer_task_log log\n" + " on (timer.id = log.timertaskid) ON(task.id = timer.task_id)\n" + " where to_char(log.starttime, 'ww') = (select to_char(sysdate, 'ww') from dual)\n" + " group by task.task_name"; } else if("month".equals(tongjiType)) { sql = "select task.task_name,\n" + " to_char(sysdate, 'yyyy-mm'),\n" + " count(log.timertaskid),\n" + " sum(log.successcount),\n" + " sum(log.failcount)\n" + " from table_exchange_task task\n" + " join table_exchange_timer_task timer\n" + " join table_exchange_timer_task_log log\n" + " on (timer.id = log.timertaskid) ON(task.id = timer.task_id)\n" + "where to_char(sysdate, 'yyyy-mm') =\n" + " to_char(log.starttime, 'yyyy-mm')\n" + "group by task.task_name"; } else if ("diy".equals(tongjiType)) { String startTime = taskLog.getStartTime().toString() ; String endTime = taskLog.getEndTime().toString() ; sql = "select task.task_name,111,\n" + " count(log.timertaskid),\n" + " sum(log.successcount),\n" + " sum(log.failcount)\n" + " from table_exchange_task task\n" + " join table_exchange_timer_task timer\n" + " join table_exchange_timer_task_log log\n" + " on (timer.id = log.timertaskid) ON(task.id = timer.task_id)\n" + "where log.starttime>to_date('" + startTime.substring(0, startTime.length()-2) + "','yyyy-mm-dd hh24:mi:ss')\n" + " and log.endtime<to_date('" + endTime.substring(0, endTime.length()-2) + "','yyyy-mm-dd hh24:mi:ss')\n" + "group by task.task_name"; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值