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

 
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";
		}

你可能感兴趣的:(JOIN,sql,timer,String,table,Exchange)