我现在有一张表,建表语句如下
CREATE TABLE REPRECORD(
ID INT NOT NULL,
ASSIGNID INT NOT NULL,
CATE1NAME VARCHAR2(20) NOT NULL,
CATE2NAME VARCHAR2(20),
WORKERID VARCHAR2(20) NOT NULL,//工人ID
WORKERNAME VARCHAR2(20) NOT NULL,//工人姓名
CHARGEID VARCHAR2(20) NOT NULL,
ARRANGETIME DATE NOT NULL,//维修派出时间
FINISHTIME DATE,//维修完成时间
SCORE1 INT,
SCORE2 INT,
SCORE3 INT,
REPRESULTID VARCHAR2(20) NOT NULL,//维修状态,1为成功,2为失败
FREASON VARCHAR2(40),
PRIMARY KEY (ID),
FOREIGN KEY(ASSIGNID) REFERENCES REPREQUEST(ID),
FOREIGN KEY(WORKERID) REFERENCES USERS(DBUSER)
);我现在在写一条sql语句,包括以下几个内容:工人id,该工人维修完成工时,该工人维修成功个数,该工人维修失败个数,总个数。
完成时间减去派出时间就是这个工人维修一个成功的时间。工时的意思就是我一个工人维修成功的这些总时间加起来除以成功的个数。比如一个工人有5个任务,他有3个成功了,第一个耗费2小时,第二个耗费3小时,第三个耗费4小时,他的平均工时就是(2+3+4)/3.这个工人对应的一条表数据就是工人id(假设为001),(2+3+4)/3,3,2,5。我就是不会算这个平均工时,数据库里arrangetime与finishtime都是精确到秒的,比如说2012-01-01 14:12:11.但我算的时候想让时间精确到小时就够了。求助一下各位,能不能帮我看看这个。万分感谢